Health Options
Health endpoint configuration options reference.
less than a minute
Health Options
These options are used with WithHealthEndpoints():
app.WithHealthEndpoints(
app.WithReadinessCheck("database", dbCheck),
app.WithHealthTimeout(800 * time.Millisecond),
)
Path Configuration
WithHealthPrefix
func WithHealthPrefix(prefix string) HealthOption
Mounts health endpoints under a prefix.
Default: "" (root)
WithHealthzPath
func WithHealthzPath(path string) HealthOption
Custom liveness probe path.
Default: "/healthz"
WithReadyzPath
func WithReadyzPath(path string) HealthOption
Custom readiness probe path.
Default: "/readyz"
Check Configuration
WithHealthTimeout
func WithHealthTimeout(d time.Duration) HealthOption
Timeout for each health check.
Default: 1s
WithLivenessCheck
func WithLivenessCheck(name string, fn CheckFunc) HealthOption
Adds a liveness check. Liveness checks should be dependency-free and fast.
WithReadinessCheck
func WithReadinessCheck(name string, fn CheckFunc) HealthOption
Adds a readiness check. Readiness checks verify external dependencies.
CheckFunc
type CheckFunc func(context.Context) error
Health check function that returns nil if healthy, error if unhealthy.
Example
app.WithHealthEndpoints(
app.WithHealthPrefix("/_system"),
app.WithHealthTimeout(800 * time.Millisecond),
app.WithLivenessCheck("process", func(ctx context.Context) error {
return nil
}),
app.WithReadinessCheck("database", func(ctx context.Context) error {
return db.PingContext(ctx)
}),
)
// Endpoints:
// GET /_system/healthz - Liveness (200 if all checks pass)
// GET /_system/readyz - Readiness (204 if all checks pass)
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.