controller

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2026 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AnnotationLBEnabled   = "mikrolb.de/load-balancer-enabled"
	AnnotationLBIPs       = "mikrolb.de/load-balancer-ips"
	AnnotationLBPoolNames = "mikrolb.de/load-balancer-pools"
)
View Source
const (
	AnnotationSNATEnabled = "mikrolb.de/snat-enabled"
	AnnotationSNATIPs     = "mikrolb.de/snat-ips"
)
View Source
const (
	LabelServiceName      = "mikrolb.de/service-name"
	LabelServiceNamespace = "mikrolb.de/service-namespace"
	LabelServiceUID       = "mikrolb.de/service-uid"
)
View Source
const (
	AnnotationUpdate = "mikrolb.de/update"
)
View Source
const (
	ControllerName = "mikrolb-controller"
)
View Source
const (
	FinalizerName = "mikrolb.de/finalizer"
)

Variables

This section is empty.

Functions

func AttachIPAllocationController

func AttachIPAllocationController(mgr ctrl.Manager, backend core.Backend, config *core.Config) error

func AttachIPPoolController

func AttachIPPoolController(mgr ctrl.Manager) error

func AttachIPPoolWebhook

func AttachIPPoolWebhook(mgr ctrl.Manager) error

func AttachServiceController

func AttachServiceController(mgr ctrl.Manager, backend core.Backend, config *core.Config) error

func ParseIPPoolAddresses

func ParseIPPoolAddresses(addresses []string, ipFamily core.IPFamily, excludeCIDREdges bool) (core.IPRangeSet, []error)

Types

type IPAllocationExpectations

type IPAllocationExpectations struct {
	AllocationTimeout time.Duration
	// contains filtered or unexported fields
}

IPAllocationExpectations tracks pending IP allocations and releases to handle eventual consistency in the cache.

func NewIPAllocationExpectations

func NewIPAllocationExpectations(allocTimeout time.Duration) *IPAllocationExpectations

func (*IPAllocationExpectations) Confirm

func (e *IPAllocationExpectations) Confirm(allocs []v1alpha1.IPAllocation)

func (*IPAllocationExpectations) Resolve

func (e *IPAllocationExpectations) Resolve(fromCache []v1alpha1.IPAllocation, excludeID string) map[netip.Addr]time.Time

func (*IPAllocationExpectations) StageAllocation

func (e *IPAllocationExpectations) StageAllocation(alloc IPAllocationPending) bool

func (*IPAllocationExpectations) StageRelease

func (e *IPAllocationExpectations) StageRelease(ip netip.Addr, releaseTime time.Time)

func (*IPAllocationExpectations) UnstageAllocation

func (e *IPAllocationExpectations) UnstageAllocation(alloc IPAllocationPending)

func (*IPAllocationExpectations) UnstageRelease

func (e *IPAllocationExpectations) UnstageRelease(ip netip.Addr, releaseTime time.Time)

type IPAllocationPending

type IPAllocationPending struct {
	ID          string
	Address     netip.Addr
	AllocatedAt time.Time
}

type IPAllocationReconciler

type IPAllocationReconciler struct {
	// contains filtered or unexported fields
}

func (*IPAllocationReconciler) Reconcile

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

type IPPoolReconciler

type IPPoolReconciler struct {
	// contains filtered or unexported fields
}

func (*IPPoolReconciler) Reconcile

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

type IPPoolValidator

type IPPoolValidator struct {
	// contains filtered or unexported fields
}

func (*IPPoolValidator) ValidateCreate

func (v *IPPoolValidator) ValidateCreate(ctx context.Context, pool *v1alpha1.IPPool) (admission.Warnings, error)

func (*IPPoolValidator) ValidateDelete

func (v *IPPoolValidator) ValidateDelete(_ context.Context, _ *v1alpha1.IPPool) (admission.Warnings, error)

func (*IPPoolValidator) ValidateUpdate

func (v *IPPoolValidator) ValidateUpdate(ctx context.Context, _, poolNew *v1alpha1.IPPool) (admission.Warnings, error)

type ServiceReconciler

type ServiceReconciler struct {
	// contains filtered or unexported fields
}

func (*ServiceReconciler) Reconcile

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

Jump to

Keyboard shortcuts

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