Documentation
¶
Overview ¶
Package leaderelection provides a set of utility functions for running a highly available controller component.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RunOrDie ¶
func RunOrDie(opt Option)
RunOrDie starts the leader election code loop with the provided config or panics if the config fails to validate. A wrapper of Kubernetes leaderelection package, more info here: https://github.com/caicloud/leader-election-example
Types ¶
type Option ¶
type Option struct {
// LeaseLockName is the lease lock resource name, recommended to use the component name.
LeaseLockName string
// LeaseLockNamespace is the lease lock resource namespace, recommended to use the component namespace.
LeaseLockNamespace string
// ID is the the holder identity name, recommended to use the component pod name.
// If not set, the value of the POD_NAME environment variable will be used
// +optional
ID string
// KubeClient is the kube client of a cluster.
KubeClient kubernetes.Interface
// Run is the main controller code loop starter.
Run func(ctx context.Context)
// LivenessChecker defines the liveness healthz checker.
// +optional
LivenessChecker func(req *http.Request) error
// Port is the healthz server port.
Port int
// StopCh is the stop channel used to shut down the component
StopCh <-chan struct{}
}
Option defines the parameters required to start the leader election component.
Click to show internal directories.
Click to hide internal directories.