Skip to main content

FLUX_KEY_HEALTH_CHECKS

Constant FLUX_KEY_HEALTH_CHECKS 

Source
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.yaml document’s per-Kustomization spec.healthChecks block (caixa-flux/src/lib.rs — the cluster_bundle kustomization format-string template’s baked healthChecks:\n container-axis key at line 990, threaded together with the sibling lifted FLUX_HELMRELEASE_API_VERSION per-entry apiVersion axis + FLUX_KIND_HELM_RELEASE per-entry kind axis the health-gate references);
  • three test-side navigation sites in mod tests that probe the rendered kustomization.yaml document’s .get("healthChecks") container axis to pin the emitted per-entry apiVersion + kind against the sibling lifted FLUX_HELMRELEASE_API_VERSION + FLUX_KIND_HELM_RELEASE axes (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.