Check readiness
Returns 200 when the orchestrator can serve traffic, 503 otherwise. Checks the state store with a bounded ListVMs call (default 2s timeout) and verifies the FleetManager is initialized. The 503 body includes a per-check breakdown so operators can see which dependency is unhealthy. Mounted outside auth — k8s readinessProbe does not carry credentials.
Failure messages are clipped to the first 200 bytes, with the
literal marker …(truncated) appended — so a truncated check
value is 214 bytes, not 200. Truncation keeps driver errors
and stack traces from blowing out the probe body. Use this endpoint
— not /health — for a load balancer’s routing decision;
/health only reports that the process is up, not that it can
serve a request end to end.
GET
/readyResponses
200All checks pass.
statusstringrequiredAllowed:
readychecksobjectrequired503One or more dependencies are unhealthy.
statusstringrequiredAllowed:
not_readychecksobjectrequiredRequest
curl -X GET "http://localhost:8080/ready"const response = await fetch("http://localhost:8080/ready", {
method: "GET"
});import requests
response = requests.get(
"http://localhost:8080/ready",
)Response
{
"status": "ready",
"checks": {
"state_store": "ok",
"fleet": "ok"
}
}{
"status": "not_ready",
"checks": {
"state_store": "connection refused",
"fleet": "ok"
}
}