You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Test all endpoints
curl http://localhost:8080/health/live # → 200
curl http://localhost:8080/health/ready # → 200 or 503
curl http://localhost:8080/health | jq .# → Full details# Run test suite
go test ./internal/handlers -v -cover # → 16/16 pass
Response Status Values
Status
Meaning
Action
healthy
✅ All good
Continue normal operation
degraded
⚠️ Issues detected
Readiness returns 503; check details
unhealthy
❌ Down
Service unavailable
not_configured
⏸️ Disabled
Dependency not initialized
timeout
⏱️ Slow
Dependency exceeds timeout
Dependency Timeouts
Dependency
Timeout
Retries
Total
Database
3s each
2x with backoff
~6.4s
Queue
3s
None
3s
Overall
10s
—
10s
Status Derivation
All healthy → Service healthy → Readiness: 200
Any degraded → Service degraded → Readiness: 503
Any unhealthy → Service unhealthy → Readiness: 503
# All tests
go test ./internal/handlers -v
# Just health tests
go test ./internal/handlers -v -run Test.*Health
# With coverage
go test ./internal/handlers -cover
# Performance check
go test -race ./internal/handlers
T=0: Old pod: readiness check fails
T=1: Old pod: removed from load balancer
T=5: New pod: liveness passes, starts
T=7: New pod: readiness checks dependencies
T=10: New pod: dependencies ready, readiness passes
T=12: New pod: added to load balancer
T=30: Old pod: gracefully terminated