pub const FLUX_KEY_HEALTH_CHECKS: &str = "healthChecks";Expand description
Canonical Flux v2 per-Kustomization health-gate reference-list
container-axis key every caixa-flux-emitted kustomization.yaml
document mounts its per-sibling-HelmRelease health-probe list under
(spec.healthChecks on Kustomization) — the Flux v2 CRD schema places
the []NamespacedObjectKindReference list under this single container
key, so drift on the container axis silently dangles the whole per-
Kustomization health-gate the Flux v2 kustomize-controller’s per-CR
reconcile loop reads to gate Ready=True on the referenced sibling
HelmRelease reaching its HelmReleaseReady=True condition (a
"HealthChecks" / "healthchecks" / "healthcheck" /
"health_checks" / "probes" typo at either the emit-side format-
string template or a downstream test-fixture probe silently
dangles the parent Kustomization at Reconciling forever at the Flux
v2 kustomize-controller’s health-gate evaluation; the dependent per-
cluster fleet-programs upsert chain never sees Ready=True at apply
time with no field naming the container-axis-drift root cause).
The single source of truth every Flux-v2-per-Kustomization health-
gate-reference-list-container-axis-naming reaches for:
- the rendered
kustomization.yamldocument’s per-Kustomizationspec.healthChecksblock (caixa-flux/src/lib.rs — thecluster_bundlekustomizationformat-string template’s bakedhealthChecks:\ncontainer-axis key at line 990, threaded together with the sibling liftedFLUX_HELMRELEASE_API_VERSIONper-entryapiVersionaxis +FLUX_KIND_HELM_RELEASEper-entrykindaxis the health-gate references); - three test-side navigation sites in
mod teststhat probe the renderedkustomization.yamldocument’s.get("healthChecks")container axis to pin the emitted per-entryapiVersion+kindagainst the sibling liftedFLUX_HELMRELEASE_API_VERSION+FLUX_KIND_HELM_RELEASEaxes (caixa-flux/src/lib.rs:2266, 2952, 3016).
The container-axis key names the same Flux-v2-kustomize-controller-side
per-Kustomization health-gate-reference-list the sibling per-entry
apiVersion FLUX_HELMRELEASE_API_VERSION + per-entry kind
FLUX_KIND_HELM_RELEASE axes nest under, and must move together on
any future Flux v3 rebrand (a hypothetical upstream Flux v3 rename of
the per-Kustomization health-gate reference-list container axis from
healthChecks to HealthChecks / healthchecks / healthcheck /
health_checks / probes, 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 +
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) /
FLUX_KEY_CHART (8467748) /
FLUX_KEY_VALUES (b54dc87) lifts established on the sibling
canonical-Flux-v2-load-bearing-string surfaces — extends the per-CRD
kind-discriminator + apiVersion + install-namespace + source-
reference-container + chart-template-container + values-override-block
lift trajectory onto the sibling per-Kustomization health-gate-
reference-list container-axis key the cluster_bundle renderer
consumes under its kustomization.yaml format-string template.