Skip to main content

Module allocation

Module allocation 

Source
Expand description

EphemeralAllocation CRD — a typed request for a pool member.

Pairs with EphemeralPool: an Allocation is the request side; the pool reconciler answers it by matching one of its free Process members and stamping the requestor’s identity on the Allocation’s status.

Topology:

  • The requestor (GitHub PR webhook, CI runner, operator running feira allocation request …) creates an EphemeralAllocation.
  • The pool reconciler watches Allocations; matches spec.poolRef (or routes via PoolSelector if poolRef is omitted) to a pool; picks one Free member; transitions the member to Allocated and the Allocation to Bound.
  • When the requestor is done, it deletes the Allocation. The pool reconciler honors the pool’s returnPolicy (Reset / Replace / Keep).

Structs§

AllocationCondition
Allocation Condition (same shape as PoolCondition for downstream uniformity).
AllocationSpec
EphemeralAllocation CRD spec — a typed request for a pool member.
AllocationStatus
EphemeralAllocation.status — observed allocation state.
EphemeralAllocation
Auto-generated derived type for AllocationSpec via CustomResource
Requestor
Identity + routing context for a request.
UnknownAllocationPhase
UnknownRequestorKind

Enums§

AllocationPhase
Allocation lifecycle phase.
RequestorKind
Closed-set view over the substrate-emitted canonical Requestor::kind wire strings — the four kebab-case discriminators every pleme-io requestor stamps onto an EphemeralAllocation: github-pr (the tatara_github_watcher- authored PR-driven path), manual (operator-authored via feira allocation request …), ci-run (non-PR CI driver), and scheduled (a cron-style emitter). The wire field stays pub kind: String on Requestor so operators can register their own kinds without a schema bump; this enum is the typed view future kind-keyed consumers (pool dashboards, LSP completion, audit-trail classifiers) sweep against.