The probe endpoints
Set
HEALTH_PORT to enable the health listener. If it is unset, the listener does not start. Charts and examples configure 8099; the library does not select a port. Keep the health port internal and off public Ingress and load balancers. Main API ports do not change.
Some multi-tenant services expose /readyz/tenant/:id on the health port. This unauthenticated, on-demand check does not change pod readiness.
The /readyz response body
The following body applies to releases using the current shared health contract. Registered checks vary by service. A check that is not configured has no entry.
Readiness returns HTTP
503 until every Startup check passes for the first time. After that, a shared dependency failure reports degraded with HTTP 200. Liveness can return 503 for a failed Live check.
The shared health metrics are health_ready and health_check_status{check,mode,status}. They are separate from OTLP telemetry.
Per-service coverage
Check the product version before you change probes. Availability in a release does not mean that your deployment already uses it.
The table below lists the main-port probes of the services that do not use the health port, and each service keeps its own contract.
Ports are default values and can be overridden per deployment. See Default network ports.

