# Decide the v0 observability backend strategy

Write `docs/ADR010-observability.md` — the design prerequisite for w3/m1 and w3/m2. Too small for a milestone (~40m, single doc).

Decisions to record:

- **v0 = live Kubernetes primitives, no store.** Logs from pod logs (client-go `PodLogs`); resource metrics from `metrics.k8s.io` (metrics-server); request metrics from Traefik's Prometheus metrics. Defer a durable log/metric store and remote-write integrations (Render's "stream to another observability tool") to a later milestone.
- **App-vs-request log split** (mirrors Render's `Application logs` / `Request logs` filter): application = pod stdout/stderr; request = Traefik access logs.
- **api RBAC additions** the bex-api binary needs beyond today's App-only access: `pods`, `pods/log`, and `metrics.k8s.io`.
- **bex-api shape:** read-only observability verbs added to `Core` (`operator/internal/api/core.go`), exposed via the existing REST (`rest.go`) + GraphQL (`graphql.go`) adapters, Render-compatible (shapes verified vs `render-public-api-1.json`).

Source: `/pm-brainstorm` 2026-07-05, learning from Render's `/logs` and `/metrics` dashboard pages.
