Health checks
The backend exposes a single endpoint:
GET /health → 200
{
"status": "ok",
"gitSha": "abc1234",
"releaseVersion": "v1.2.3",
"uptimeSec": 42,
"timestamp": "2026-05-14T..."
}
Wiring up
- ALB target group health check:
GET /health, expect200, interval 30s, threshold 2. - Kubernetes:
livenessProbeandreadinessProbeboth point here.
What it does NOT check
This is a liveness probe, not a deep dependency check. It does not:
- Open a DB connection.
- Call Stripe.
- Verify PostHog reachability.
If you want a deep "readiness" probe that fails on DB outage, add GET /ready:
@Get("ready")
async ready() {
await this.db.execute(sql`SELECT 1`);
return { ready: true };
}
Wire it to a separate target group health check if you want unhealthy DB to drain a task.
GIT_SHA / RELEASE_VERSION
Baked into the Docker image at build time. Surfaced for ops correlation:
- Cross-reference an incident timestamp with a deploy SHA.
- Confirm rolling deploy has propagated.
If absent (e.g. local pnpm start:dev), the fields are dev.
/api/auth/get-session
Different concept — checks user auth state, not service health. Don't use as a probe.