Skip to main content

Module annotations

Module annotations 

Source
Expand description

Annotation keys the reconciler reads/writes on owned FluxCD resources.

Constants§

ALLOCATION
Peer to REQUESTOR on the same allocator-bind axis: the bare Allocation name (no namespace prefix), stamped alongside so downstream consumers that key on the Allocation identity alone (a single-namespace UI, an in-cluster label selector that already carries the namespace) don’t need to re-split REQUESTOR’s composed reference.
APP
Label / annotation key stamping which RoutingSpec.hostnames entry a routing edge (Ingress / DNSEndpoint) belongs to. Value is the entry’s app slot; a label-selector on this key slices every emitted edge for a given app regardless of hostname form. Peer to ROUTING_FORM on the routing-axis pair.
ATTESTATION_ROOT
CONTENT_HASH
EXPORT_INDEX
Index of an export inside lifetime.ephemeral.exports. Stamped on the corresponding tatara-export-worker Job + its receipt ConfigMap so the reconciler can correlate them without re-parsing the spec JSON.
GENERATION
MANAGED_BY
PID
POOL
Stamped by tatara-pool-reconciler::controller_pool:: build_member_process on every Process the pool controller materializes into a pool slot. Value is the owning crate::pool::EphemeralPool’s metadata.name; the pool controller’s process_belongs_to_pool membership gate reads this key back through the substrate primitive crate::prelude::Process::annotation to filter its owned members out of the cluster-wide Process listing. Peer to POOL_SLOT on the same pool-membership axis; the two keys travel together at every write site so any future rename (a tatara.pleme.io/v2/pool migration, an alias table for cross-cluster pool identity, a per-cluster ownership prefix) lands at ONE pub const in the substrate and every downstream consumer (the pool reconciler’s membership gate, any future observability label emitter, a cross-namespace pool-topology walker) inherits the upgrade mechanically.
POOL_SLOT
Peer to POOL on the same pool-membership axis: the zero-based slot index the pool controller assigned to the member Process, stamped alongside so downstream consumers that need per-slot identity (a UI grid layout, a per-slot affinity gate, a slot-scoped audit-trail scraper) can dispatch on it without re-scanning the pool controller’s naming scheme. Value is the slot’s u32 rendered through .to_string().
PROCESS
RELEASED_FROM
Stamped by the reconciler when transitioning into Releasing — records which terminal-reached gate the Process came from (Attested or Failed) so handle_releasing can pick the matching ExportTrigger set + the correct post-Releasing destination (Exiting from Attested, Zombie from Failed).
REQUESTOR
Stamped by tatara-pool-reconciler::controller_allocation:: reconcile on the member Process at the moment an EphemeralAllocation transitions Queued → Bound. Value is the requestor Allocation’s <ns>/<name> qualified reference (composed through the same <ns>/<name> shape every peer substrate composer routes through — see crate::qualified_process_ref). Downstream consumers (operator dashboards, admission webhooks, audit-trail scrapers) grep for this key to answer “which allocator drove this member Process into its ephemeral overlay”.
REQUESTOR_KIND
Peer to REQUESTOR + ALLOCATION on the same allocator-bind axis: mirrors [crate::allocation::RequestorRef.kind] verbatim onto the bound member Process so consumers that dispatch on the requestor-kind axis (a GitHub-PR-scoped webhook, a scheduler-window scoped fairness gate, a per-kind quota enforcer) never have to fetch the Allocation object again.
ROLE
Labels the export-worker Jobs the reconciler emits during Releasing. Selector: tatara.pleme.io/role=export.
ROUTING_FORM
Label / annotation key stamping the routing form ("stable" | "instance") on every emitted routing edge. Value is a crate::routing::RoutingForm wire-form string; consumers filtering the two forms compare to RoutingForm::as_str, never to a bare literal.
SIGNAL