Skip to main content
Install healthzkit, expose /healthz/live and /healthz/ready, and point Kubernetes at those routes.

Hono (copy-paste)

Point a liveness probe at GET /healthz/live and a readiness probe at GET /healthz/ready.
Need Express, Fastify, Elysia, Next.js, or Node http? See Framework guides.

Fetch-API servers (Bun, Deno, Workers)

createFetchHandler answers {basePath}/live and {basePath}/ready (default /healthz) on GET and HEAD. Other methods on those routes return 405. Unknown paths return 404.

handleRequest

If you already route HTTP yourself, pass the incoming path:

Default routes and basePath

By default, healthzkit expects: The default basePath is /healthz. Set basePath in the root config to move both routes (for example /api/health → /api/health/live and /api/health/ready). handleRequest(req) returns null when req.path does not match either route, so you can try it first and fall through to the rest of your application.

AgnosticResponse

Handlers resolve to AgnosticResponse:
Map status, headers, and body onto your framework’s response object, or call toFetchResponse(res) for Hono, Next.js, Bun, and Workers.