Versions in this module Expand all Collapse all v1 v1.4.0 Oct 20, 2026 Changes in this version + var ErrInvalidPoolSet = errors.New("runtime pool set is invalid") + var ErrNoPlacement = errors.New("no eligible runtime placement") + func GuardProductionPoolSource(source PoolSource, devMode bool) error + func WithParallelism(workers int) func(*Controller) + func WithShard(index, count int) func(*Controller) + type Controller struct + func NewController(repository store.ControlStore, pools PoolSource, ownerID string, batch int, ...) *Controller + func (c *Controller) Reconcile(ctx context.Context) (int, error) + type LeaseAwarePoolSource struct + func NewLeaseAwarePoolSource(static PoolSource, health store.PoolHealthStore, freshness time.Duration) *LeaseAwarePoolSource + func (s *LeaseAwarePoolSource) ListRuntimePools(ctx context.Context, tenantID string) ([]RuntimePool, error) + type Placement struct + Components []ScoreComponent + Pool RuntimePool + Score float64 + type PoolSource interface + ListRuntimePools func(context.Context, string) ([]RuntimePool, error) + type Rejection struct + PoolID string + Reasons []string + type Result struct + Candidates []Placement + Placement Placement + Rejected []Rejection + func Select(spec workload.Spec, pools []RuntimePool) (Result, error) + type RuntimePool struct + ArtifactRegions []string + AvailableCPU int64 + AvailableLLMSlots int + AvailableMemory int64 + CapacityLedgerMissing bool + CostWeight float64 + DataResidency string + FailureDomain string + ID string + Operators []string + Ready bool + Region string + RuntimeClass string + RuntimeInstanceID string + Status string + TenantIDs []string + type ScoreComponent struct + Name string + Reason string + Value float64 + type StaticPoolSource []RuntimePool + func (s StaticPoolSource) ListRuntimePools(_ context.Context, tenantID string) ([]RuntimePool, error)