Versions in this module Expand all Collapse all v0 v0.1.1 Jul 11, 2026 v0.1.0 Jun 19, 2026 Changes in this version + func NotifyReady() error + func NotifyStopping() error + func SupervisedMonitor(ctx context.Context, m MonitorRunner, opts SupervisorOptions) + func Watchdog(ctx context.Context, opts WatchdogOptions) + func WatchdogInterval() (time.Duration, bool) + type ComponentHandler interface + RegisterRoutes func(mux *http.ServeMux) + type ComponentProbe interface + ComponentName func() string + Probe func(ctx context.Context) error + func BuildComponentProbe(componentName string, monitors []MonitorRunner) ComponentProbe + type CompositeProbe struct + func NewCompositeProbe(componentName string, leafProbes ...Probe) *CompositeProbe + func (c *CompositeProbe) ComponentName() string + func (c *CompositeProbe) Probe(ctx context.Context) error + type ConnectivityMonitor interface + ConnectivityError func() *StatusError + type DiskOwnershipProbe struct + Group string + Path string + Permission os.FileMode + User string + func (p *DiskOwnershipProbe) Probe(_ context.Context) error + type DiskPermissionProbe struct + Path string + Permission os.FileMode + func (p *DiskPermissionProbe) Probe(_ context.Context) error + type DiskWriteTestProbe struct + Dir string + func (p *DiskWriteTestProbe) Probe(_ context.Context) error + type MonitorRunner interface + Name func() string + Run func(ctx context.Context) error + type MonitorState struct + Error *StatusError + State string + type ProbableMonitor interface + RequiredProbe func() Probe + type Probe interface + Probe func(ctx context.Context) error + type ProbeError struct + Err error + Message string + Reason string + Resolution string + func (e *ProbeError) Error() string + func (e *ProbeError) Unwrap() error + type Server struct + func NewServer(sockPath string, opts ServerOptions, cfg ServerConfig) *Server + func (s *Server) Start(ctx context.Context) error + type ServerConfig struct + ReadHeaderTimeout time.Duration + type ServerOptions struct + ComponentHandlers []ComponentHandler + Logger *slog.Logger + StatusFn func() any + type StatusError struct + Message string + Reason string + Resolution string + Since string + type StatusTracker struct + func NewStatusTracker() *StatusTracker + func (t *StatusTracker) Snapshot() map[string]MonitorState + type SupervisorOptions struct + HeartbeatInterval time.Duration + Logger *slog.Logger + Tracker *StatusTracker + type TaggedProbe struct + Inner Probe + Reason string + Resolution string + func (p *TaggedProbe) Probe(ctx context.Context) error + type WatchdogOptions struct + IsAlive func() bool + Logger *slog.Logger