Problem
/api/health currently returns only { status: 'ok' }. Self-hosted operators need to know whether the database, Redis, S3, email, AI provider, queues, and background workers are actually healthy.
Proposed solution
Add separate liveness and readiness endpoints plus an admin operations dashboard. Readiness should validate critical dependencies without exposing secrets.
Acceptance criteria
- /api/health/live verifies the process is responsive.
- /api/health/ready verifies database connectivity, Redis connectivity, migration state, and required config.
- Optional checks cover S3, email, AI provider, and webhook worker health.
- Admin dashboard shows dependency status, queue lag, worker status, app version, and recent operational errors.
- Health responses never include secrets or raw connection strings.
- Docker/Kubernetes documentation uses the new endpoints for probes.
Problem
/api/health currently returns only { status: 'ok' }. Self-hosted operators need to know whether the database, Redis, S3, email, AI provider, queues, and background workers are actually healthy.
Proposed solution
Add separate liveness and readiness endpoints plus an admin operations dashboard. Readiness should validate critical dependencies without exposing secrets.
Acceptance criteria