Two runtimes, one health check format

A load balancer, an orchestrator and a monitoring system each want a health endpoint, and two services answering differently is two integrations.

GET /health
{
  "status": "ok",
  "checks": {
    "database": { "status": "ok", "ms": 2 },
    "cache":    { "status": "ok", "ms": 1 }
  },
  "version": "2021.11.3",
  "commit": "a41f2b8"
}

// 200 for ok and degraded, 503 for down.
// no external dependencies in the check.

Excluding third-party dependencies is the rule that matters most: including a payment provider means their outage restarts your containers, which converts their incident into yours. The version and commit fields are the underrated part — during an incident, “which build is actually running” is a question that otherwise requires shell access. Agreeing the shape once and implementing it in both runtimes is an afternoon that pays back on every subsequent tool.