tenantcluster

package
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: May 3, 2026 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ButlerConfigSingletonName = "butler"

	// LabelAllocationRole distinguishes initial vs growth IPAllocations.
	// The butler-api does not define this label yet, so it lives here until
	// the next API release.
	LabelAllocationRole = "butler.butlerlabs.dev/allocation-role"

	// AllocationRoleInitial marks the first IPAllocation created during
	// reconcileIPAllocation (the "seed" allocation for a new tenant).
	AllocationRoleInitial = "initial"

	// AllocationRoleGrowth marks IPAllocations created by the elastic IPAM
	// growth path inside reconcileElasticIPAM.
	AllocationRoleGrowth = "growth"

	ReasonValidating             = "Validating"
	ReasonValidationFailed       = "ValidationFailed"
	ReasonTeamNotFound           = "TeamNotFound"
	ReasonTeamRequired           = "TeamRequired"
	ReasonNamespaceMismatch      = "NamespaceMismatch"
	ReasonProvisioningNS         = "ProvisioningNamespace"
	ReasonNamespaceReady         = "NamespaceReady"
	ReasonInfraProvisioning      = "InfrastructureProvisioning"
	ReasonControlPlaneReady      = "ControlPlaneReady"
	ReasonWorkersProvisioning    = "WorkersProvisioning"
	ReasonWorkersReady           = "WorkersReady"
	ReasonProviderConfigNotFound = "ProviderConfigNotFound"
	ReasonCAPIResourceError      = "CAPIResourceError"
	ReasonReady                  = "Ready"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type LBServiceInventory added in v0.18.1

type LBServiceInventory struct {
	// PendingServices are LB Services without an assigned external IP.
	PendingServices []LBServiceSummary

	// AssignedPlatformCount is the number of platform-labeled LB Services
	// with at least one assigned external IP.
	AssignedPlatformCount int32

	// AssignedTenantCount is the number of non-platform LB Services with
	// at least one assigned external IP.
	AssignedTenantCount int32

	// ServiceIPs is the set of all external IPs assigned to LB Services.
	// Used by orphan detection to identify allocations with no matching service.
	ServiceIPs map[string]bool
}

LBServiceInventory is a snapshot of LoadBalancer Service state on a tenant cluster. Built from a single cross-cluster list call per reconcile. reconcileElasticIPAM consumes the full inventory for demand-driven growth and the derived counts for shrink logic.

type LBServiceSummary added in v0.18.1

type LBServiceSummary struct {
	Name      string
	Namespace string
	CreatedAt time.Time
}

LBServiceSummary is a lightweight representation of a LoadBalancer Service on a tenant cluster. Used by the Service inventory to track Pending services for demand-driven growth decisions.

type Reconciler

type Reconciler struct {
	client.Client
	Scheme                  *runtime.Scheme
	Installer               *addons.Installer
	ClientManager           *tenant.ClientManager
	Recorder                record.EventRecorder
	MaxConcurrentReconciles int
}

func (*Reconciler) Reconcile

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

func (*Reconciler) SetupWithManager

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

Jump to

Keyboard shortcuts

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