Skip to main content
Healthzkit is a small, framework-agnostic library for liveness and readiness probes in Node.js and similar runtimes. You define checks as adapters that return a simple status (ok, degraded, or fail). Healthzkit runs the relevant checks in parallel, rolls up an overall status, maps that to an HTTP status code and JSON or plain-text body, and can schedule checks in the background so probes read cached results instead of hitting databases or third parties on every request.

When to use it

Use healthzkit when you want:
  • One place to define health checks and wire them to /live and /ready (or your own base path).
  • Consistent JSON or text payloads for operators and orchestrators.
  • Optional background refresh for slow dependencies without blocking probe latency.

Install

The package is ESM-only. Published packages declare Node.js 22.12+. The published entry is healthzkit → ./dist/index.mjs.

Next steps

Getting started

Hono copy-paste, Fetch handler, and handleRequest.

Checks and adapters

Configuration, timeouts, and failure mapping.

Scheduling

Cached results and lifecycle (start / stop).

Framework guides

Elysia, Express, Hono, Next.js, and Node HTTP wiring.
See also Responses and HTTP for rollup rules, status codes, output format, and public types.

Optional adapters

Official adapter packages cover queues, databases, storage, search, and HTTP endpoints today.

Queues

  • RabbitMQ — @healthzkit/rabbitmq (amqplib, amqp-connection-manager).
  • Kafka — @healthzkit/kafka (kafkajs, node-rdkafka).

Databases

  • Redis — @healthzkit/redis (ioredis, node-redis, Upstash).
  • Valkey — @healthzkit/valkey (iovalkey, @valkey/valkey-glide).
  • Postgres — @healthzkit/postgres (pg, postgres).
  • CockroachDB — @healthzkit/cockroach (pg).
  • MySQL — @healthzkit/mysql (mysql, mysql2).
  • MongoDB — @healthzkit/mongo (mongodb, mongoose).
  • SQLite — @healthzkit/sqlite (better-sqlite3, sqlite3, @libsql/client).
  • DynamoDB — @healthzkit/dynamo (aws-sdk, @aws-sdk/client-dynamodb).
  • Drizzle ORM — @healthzkit/drizzle (drizzle-orm; pass your existing db instance).
  • Prisma — @healthzkit/prisma (@prisma/client; pass your existing PrismaClient).

Storage

  • S3 — @healthzkit/s3 (aws-sdk, @aws-sdk/client-s3).
  • MinIO — @healthzkit/minio (minio).
  • Elasticsearch — @healthzkit/elasticsearch (@elastic/elasticsearch).

HTTP