Health
Unversioned liveness/readiness checks — outside /v1, and not part of the API's data contract (see app's doc comment and specs/060-obs-service-telemetry-baseline/contracts/health.md).
2 endpoints
Liveness check (`specs/060-obs-service-telemetry-baseline/contracts/health.md`) — always `200 ok` once the process is up. Takes no `State`, so it structurally cannot reach the database or any other dependency (FR-011): a database outage must never turn into a fleet-wide restart storm at the exact moment the database is least able to take reconnections.
get/livez
Responses
| Status | Body | Description |
|---|---|---|
| 200 | — | The process is running |
Readiness check (`specs/060-obs-service-telemetry-baseline/contracts/health.md`) — fails when the database is unreachable, or when JWKS has never been fetched successfully (at-least-once, not currently-fresh: a warmed cache whose refresh is now failing can still verify tokens, so it does not mark the pod unready). Deliberately does not re-check "migrations applied" — that is a startup gate (`db::verify_schema`, ADR-0030/spec 064), and re-checking it here would report a permanent deploy-ordering fault as a transient one (FR-014). The body carries no query result and no tenant data (FR-012) — this endpoint is unauthenticated.
get/readyz
Responses
| Status | Body | Description |
|---|---|---|
| 200 | — | This pod can serve |
| 503 | — | A dependency is unavailable; the body names it (database or jwks) |