controllers

package
v0.15.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2025 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LabelAnnounceNode     = "metallb.io/node"
	LabelServiceName      = "metallb.io/service-name"
	LabelServiceNamespace = "metallb.io/service-namespace"
)

Variables

This section is empty.

Functions

func NewBGPStatusEvent added in v0.15.0

func NewBGPStatusEvent(namespace, name string) event.GenericEvent

func NewFRRK8sConfigEvent added in v0.14.0

func NewFRRK8sConfigEvent() event.GenericEvent

func NewL2StatusEvent added in v0.14.4

func NewL2StatusEvent(namespace, name string) event.GenericEvent

func NewPoolStatusEvent added in v0.15.0

func NewPoolStatusEvent(namespace, name string) event.GenericEvent

func NewReloadEvent

func NewReloadEvent() event.GenericEvent

func NodeReconcilerPredicate added in v0.14.9

func NodeReconcilerPredicate() predicate.Predicate

Types

type ConfigReconciler

type ConfigReconciler struct {
	client.Client
	Logger         log.Logger
	Scheme         *runtime.Scheme
	Namespace      string
	Handler        func(log.Logger, *config.Config) SyncState
	ValidateConfig config.Validate
	ForceReload    func()
	BGPType        string
	// contains filtered or unexported fields
}

func (*ConfigReconciler) Reconcile

func (r *ConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*ConfigReconciler) SetupWithManager

func (r *ConfigReconciler) SetupWithManager(mgr ctrl.Manager) error

type FRRK8sReconciler added in v0.14.0

type FRRK8sReconciler struct {
	client.Client
	Logger          log.Logger
	LogLevel        logging.Level
	Scheme          *runtime.Scheme
	NodeName        string
	FRRK8sNamespace string

	sync.Mutex
	// contains filtered or unexported fields
}

func (*FRRK8sReconciler) Reconcile added in v0.14.0

func (r *FRRK8sReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*FRRK8sReconciler) SetupWithManager added in v0.14.0

func (r *FRRK8sReconciler) SetupWithManager(mgr ctrl.Manager) error

func (*FRRK8sReconciler) UpdateConfig added in v0.14.0

func (r *FRRK8sReconciler) UpdateConfig(config interface{})

type L2StatusFetcher added in v0.15.0

type L2StatusFetcher func(types.NamespacedName) []layer2.IPAdvertisement

type Layer2StatusReconciler added in v0.14.4

type Layer2StatusReconciler struct {
	client.Client
	Logger        log.Logger
	NodeName      string
	Namespace     string
	SpeakerPod    *v1.Pod
	ReconcileChan <-chan event.GenericEvent
	// fetch ipAdv object to get interface info
	StatusFetcher L2StatusFetcher
}

func (*Layer2StatusReconciler) Reconcile added in v0.14.4

func (r *Layer2StatusReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*Layer2StatusReconciler) SetupWithManager added in v0.14.4

func (r *Layer2StatusReconciler) SetupWithManager(mgr ctrl.Manager) error

type NeedEndPoints

type NeedEndPoints int
const (
	NoNeed NeedEndPoints = iota
	Endpoints
	EndpointSlices
)

type NodeReconciler

type NodeReconciler struct {
	client.Client
	Logger      log.Logger
	Scheme      *runtime.Scheme
	NodeName    string
	Namespace   string
	Handler     func(log.Logger, *corev1.Node) SyncState
	ForceReload func()
}

func (*NodeReconciler) Reconcile

func (r *NodeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*NodeReconciler) SetupWithManager

func (r *NodeReconciler) SetupWithManager(mgr ctrl.Manager) error

type PeersForService added in v0.15.0

type PeersForService func(key string) sets.Set[string]

type PoolCountersFetcher added in v0.15.0

type PoolCountersFetcher func(string) allocator.PoolCounters

type PoolReconciler

type PoolReconciler struct {
	client.Client
	Logger         log.Logger
	Scheme         *runtime.Scheme
	Namespace      string
	Handler        func(log.Logger, *config.Pools) SyncState
	ValidateConfig config.Validate
	ForceReload    func()
	// contains filtered or unexported fields
}

func (*PoolReconciler) Reconcile

func (r *PoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*PoolReconciler) SetupWithManager

func (r *PoolReconciler) SetupWithManager(mgr ctrl.Manager) error

type PoolStatusReconciler added in v0.15.0

type PoolStatusReconciler struct {
	client.Client
	Logger          log.Logger
	CountersFetcher PoolCountersFetcher
	ReconcileChan   <-chan event.GenericEvent
}

func (*PoolStatusReconciler) Reconcile added in v0.15.0

func (r *PoolStatusReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*PoolStatusReconciler) SetupWithManager added in v0.15.0

func (r *PoolStatusReconciler) SetupWithManager(mgr ctrl.Manager) error

type ServiceBGPStatusReconciler added in v0.15.0

type ServiceBGPStatusReconciler struct {
	client.Client
	Logger        log.Logger
	NodeName      string
	Namespace     string
	SpeakerPod    *v1.Pod
	ReconcileChan <-chan event.GenericEvent
	PeersFetcher  PeersForService
}

func (*ServiceBGPStatusReconciler) Reconcile added in v0.15.0

func (*ServiceBGPStatusReconciler) SetupWithManager added in v0.15.0

func (r *ServiceBGPStatusReconciler) SetupWithManager(mgr ctrl.Manager) error

type ServiceReconciler

type ServiceReconciler struct {
	client.Client
	Logger            log.Logger
	Scheme            *runtime.Scheme
	Namespace         string
	Handler           func(log.Logger, string, *v1.Service, []discovery.EndpointSlice) SyncState
	Endpoints         bool
	LoadBalancerClass string
	Reload            chan event.GenericEvent
	// contains filtered or unexported fields
}

func (*ServiceReconciler) Reconcile

func (r *ServiceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*ServiceReconciler) SetupWithManager

func (r *ServiceReconciler) SetupWithManager(mgr ctrl.Manager) error

type SyncState

type SyncState int

SyncState is the result of calling synchronization callbacks.

const (
	// The update was processed successfully.
	SyncStateSuccess SyncState = iota
	// The update caused a transient error, the k8s client should
	// retry later.
	SyncStateError
	// The update was accepted, but requires reprocessing all watched
	// services.
	SyncStateReprocessAll
	// The update caused a non transient error, the k8s client should
	// just report and giveup.
	SyncStateErrorNoRetry
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL