package kubeprobes // Option represents a [Kubeprobes] constructor option. type Option interface { apply(kp *kubeprobes) } type option func(*kubeprobes) func (o option) apply(kp *kubeprobes) { o(kp) } // WithLivenessProbes adds given probe functions to the set of liveness probes. func WithLivenessProbes(probes ...ProbeFunction) Option { return option(func(kp *kubeprobes) { kp.livenessProbes = append(kp.livenessProbes, probes...) }) } // WithLivenessPath sets custom path for liveness probe (default is "/live"). func WithLivenessPath(path string) Option { return option(func(kp *kubeprobes) { kp.pathLive = path }) } // WithReadinessProbes adds given probe functions to the set of readiness probes. func WithReadinessProbes(probes ...ProbeFunction) Option { return option(func(kp *kubeprobes) { kp.readinessProbes = append(kp.readinessProbes, probes...) }) } // WithReadinessPath sets custom path for readiness probe (default is "/ready"). func WithReadinessPath(path string) Option { return option(func(kp *kubeprobes) { kp.pathReady = path }) } // WithVerboseOutput enables verbose output for every request. func WithVerboseOutput() Option { return option(func(kp *kubeprobes) { kp.verbose = true }) }