Skip to main content

Module annotations

Module annotations 

Source
Expand description

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

Constants§

ADOPTED_RELEASE
Peer to ENCAPSULATION_MODE on the encapsulation-diagnostic axis-family: stamped by tatara-reconciler::render::mark_resources_as_adopting on every emitted resource of a Process whose crate::encapsulates::EncapsulationKind gates the crate::encapsulates::ExistingHelmRelease arm. Value is the <ns>/<release> qualified reference of the pre-existing HelmRelease the Process is adopting, composed through the workspace-wide crate::qualified_process_ref <ns>/<name> substrate composer (never as a hand-authored format!("{}/{}", ns, release) chain). Downstream consumers (operator dashboards, audit-trail scrapers, cross-namespace release-lineage walkers) grep for this key to answer “which pre-existing release did this Process take over”.
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
ENCAPSULATION_MODE
Stamped by tatara-reconciler::render::mark_resources_as_adopting on every emitted resource of a Process whose [crate::encapsulates::EncapsulatesSpec.mode] gates the Adopt arm. Value is the wire-form spelling of the corresponding crate::encapsulates::EncapsulationMode variant ("Adopt" today; future modes ride through the same closed set), so downstream consumers (operator dashboards, admission webhooks, audit-trail scrapers) can filter which owned resources were stamped for adoption vs greenfield management vs pure observation without re-deriving the mode from the parent Process spec. Peer to ADOPTED_RELEASE on the same encapsulation-diagnostic axis-family; both keys travel together at the same emit site so a future rename (a tatara.pleme.io/v2/encapsulation-mode migration, a per-fleet override, a collapse into a compound tatara.pleme.io/encapsulation payload key) lands at ONE pub const in the substrate and every downstream consumer inherits the upgrade mechanically.
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.
RETURN_TRIGGER
Stamped by tatara-pool-reconciler::controller_allocation:: reconcile on the bound member Process at the moment an EphemeralAllocation transitions Bound → Released, to nudge the pool reconciler into taking the return path (flip back to Lifetime::Permanent on the pool’s [crate::pool::ReturnPolicy:: Keep] arm, or delete the Process outright on the crate::pool::ReturnPolicy::Replace arm). Value is the wire- form string "true" — merge-patch semantics treat a bare Value::Null as strip, so the pool reconciler’s future strip arm will stamp Value::Null under the same key through the same substrate crate::patch::annotation_body composer. Peer to SIGNAL (asynchronous signal-annotation ingest by tatara-reconciler::signals::ingest) and RELEASED_FROM (Releasing-gate stamp by tatara-reconciler::phase_machine:: transition_to_releasing) on the “single-annotation trigger for the next reconcile pass” axis-family; all three keys ride through the same annotation_body(<key>, <value>) composer at their stamp sites.
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