Skip to content

HTTP endpoints

The listener defaults to 127.0.0.1:8080. The UI and API are read-only and have no authentication. Keep the listener private.

Endpoint Purpose
GET / Operations UI
GET /healthz Whether reconciliation is working
GET /livez Whether the controller is progressing
GET /metrics Prometheus metrics
GET /api/v1/summary Controller summary
GET /api/v1/pools Pools
GET /api/v1/pools/{name} One pool
GET /api/v1/instances Instances
GET /api/v1/instances/{id} One instance
GET /api/v1/instances/{id}/events Instance events
GET /api/v1/events Lifecycle events
GET /api/v1/incidents Incidents
GET /api/v1/incidents/{id} One incident

Health and liveness

Check both endpoints to distinguish failed work from a stalled controller:

curl -i http://127.0.0.1:8080/healthz
curl -i http://127.0.0.1:8080/livez
Condition /healthz /livez What to do
Starting or reconciling normally 200 200 No action. A first successful cycle is not required.
A pool has an active reconciliation failure 503 200 Check the affected pool in the UI and inspect the service logs.
Reconciliation misses its deadline or the next cycle is overdue 503 503 Check the current stage and logs for stalled work.

/healthz reports whether reconciliation is working. /livez reports whether the controller is still progressing, even if a pool is failing. A 200 response from either endpoint does not prove that a workflow job can run to completion.