controller-runtime: Index | Files | Directories

package leaderelection

import ""

Package leaderelection contains a constructor for a leader election resource lock. This is used to ensure that multiple copies of a controller manager can be run with only one active set of controllers, for active-passive HA.

It uses built-in Kubernetes leader election APIs.


Package Files

doc.go leader_election.go

func NewResourceLock Uses

func NewResourceLock(config *rest.Config, recorderProvider recorder.Provider, options Options) (resourcelock.Interface, error)

NewResourceLock creates a new resource lock for use in a leader election loop.

type Options Uses

type Options struct {
    // LeaderElection determines whether or not to use leader election when
    // starting the manager.
    LeaderElection bool

    // LeaderElectionResourceLock determines which resource lock to use for leader election,
    // defaults to "configmapsleases".
    LeaderElectionResourceLock string

    // LeaderElectionNamespace determines the namespace in which the leader
    // election resource will be created.
    LeaderElectionNamespace string

    // LeaderElectionID determines the name of the resource that leader election
    // will use for holding the leader lock.
    LeaderElectionID string

Options provides the required configuration to create a new resource lock


fakePackage fake mocks a resource lock for testing purposes.

Package leaderelection imports 9 packages (graph). Updated 2020-09-29. Refresh now. Tools for package owners.