pub const FLUX_KEY_VALUES: &str = "values";Expand description
Canonical Flux v2 per-HelmRelease values-override block-body-axis key
every caixa-flux-emitted HelmRelease document nests its per-cluster
value overrides under (spec.values on HelmRelease) — the Flux v2
CRD schema places the arbitrary per-cluster-override YAML body under
this single key, so drift on the block-body-axis silently dangles the
per-cluster override the helm-controller’s per-CR reconcile loop
merges into the referenced chart’s values.yaml at Helm-render time
(a "Values" / "vals" / "chartValues" / "overrides" typo at
either the emit-side format-string template, the upsert_into_helmrelease_programs
upsert-path’s spec.values.programs[] write, or a downstream
test-fixture probe silently routes the per-cluster overrides nowhere;
the workload silently comes up with the referenced chart’s admission-
time defaults, far from the source caixa.lisp / the renderer’s
format-string template).
The single source of truth every Flux-v2-per-HelmRelease values-
override-block-axis navigation reaches for:
- the rendered
helmrelease.yamldocument’s per-HelmReleasespec.valuesblock (caixa-flux/src/lib.rs:900 — thecluster_bundlehelmreleaseformat-string template’s bakedvalues:\nkey beside the peer sibling liftedDEFAULT_LIBRARY_NAMEwrap key +HELM_VALUES_KEY_ENABLEDenable-toggle); - the
upsert_into_helmrelease_programsupsert path’sspec.values.programs[]write-side navigation (caixa-flux/src/lib.rs:649 — thelareira-fleet-programs- targetedHelmReleaseCR’s per-Servico entry-list mount); - three test-side navigation sites in
mod teststhat probe the rendered documents’.get("values")block-body axis to pin the emitted per-cluster overrides against the sibling liftedDEFAULT_LIBRARY_NAMEwrap key +HELM_VALUES_KEY_ENABLEDenable-toggle +FLEET_PROGRAMS_KEY_PROGRAMSentry-list axis.
The block-body-axis key names the same Flux-v2-helm-controller-side
per-HelmRelease per-cluster-override block-body every
caixa-flux-emitted HelmRelease document threads its per-cluster
overlays through, and must move together on any future Flux v3
rebrand (a hypothetical upstream Flux v3 rename of the values-
override block-body-axis from values to Values / chartValues
/ overrides, coordinated with the upstream fluxcd/flux2 project’s
per-version deprecation cycle, would land at this one const rather
than scattered across the one emit-side format-string template + one
upsert-side write-side navigation + three per-test-fixture probe
sites).
The PRIME DIRECTIVE duplication-budget rule (THEORY.md §I.3.5,
“every recurring shape becomes a generator before it becomes a
pattern; every pattern becomes a library before it becomes
duplicated code. The duplication budget is zero.”) promotes the
constant to a typed substrate-side &'static str on the same
trajectory the FLUX_KIND_GIT_REPOSITORY (dbbcf29) /
FLUX_KIND_HELM_RELEASE (e24ea3c) /
FLUX_KIND_KUSTOMIZATION (2d61a6f) /
FLUX_HELMRELEASE_API_VERSION (55f0fd9) /
FLUX_GITREPOSITORY_API_VERSION (8a6c8a3) /
FLUX_KUSTOMIZATION_API_VERSION (d2dd1b1) /
DEFAULT_FLUX_SYSTEM_NAMESPACE (7197d38) /
FLUX_KEY_SOURCE_REF (e985089) lifts established on the sibling
canonical-Flux-v2-load-bearing-string surfaces — extends the per-CRD
kind-discriminator + apiVersion + install-namespace + source-
reference-container lift trajectory onto the sibling per-CR values-
override-block-body-axis key both cluster_bundle +
upsert_into_helmrelease_programs renderers consume under the
per-cluster override + per-Servico entry-list nesting.