obs-bootstraplisted
Install: claude install-skill paruff/uFawkesAI
# Skill: Observability Bootstrap
> **Load trigger:** `"load obs-bootstrap skill"`
> **Agent:** Used by obs-agent
> **DORA:** Cap 6 + Cap 2
> **Token cost:** Medium
## Purpose
Step-by-step guide for connecting a service to uFawkesObs
(Prometheus + Loki + Tempo + Grafana via OpenTelemetry).
## Prerequisites
- [ ] `OTEL_SERVICE_NAME` defined in `docs/PIPELINE_CONTRACT.md`
- [ ] uFawkesObs infrastructure running (`make dev-up` in paruff/fawkes for local)
- [ ] Language OTEL SDK installed (see lang skill for install command)
## Local Endpoints (after `make dev-up`)
| Service | URL |
| ----------------- | ------------------------------------------------------ |
| Grafana | http://localhost:8080/grafana (admin / fawkes-grafana) |
| OTLP collector | http://localhost:4318 |
| Prometheus | http://localhost:9090 |
| Jaeger (Tempo UI) | http://localhost:16686 |
## Step 1 — Environment Variables
Add to `.env.example` (never to `.env` committed to git):
```
OTEL_SERVICE_NAME=your-service-name
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
OTEL_TRACES_EXPORTER=otlp
OTEL_METRICS_EXPORTER=prometheus
LOG_LEVEL=info
```
Add to Kubernetes Secret for production:
```yaml
apiVersion: v1
kind: Secret
metadata:
name: [service-name]-otel-config
stringData:
OTEL_SERVICE_NAME: "[service-name]"
OTEL_EXPORTER