Skip to main content

FLUX_KEY_INTERVAL

Constant FLUX_KEY_INTERVAL 

Source
pub const FLUX_KEY_INTERVAL: &str = "interval";
Expand description

Canonical Flux v2 per-CR reconcile-poll cadence scalar-axis key every caixa-flux-emitted Flux document (GitRepository, HelmRelease, Kustomization) declares its per-CR spec.interval reconcile cadence under. Unlike the sibling per-CR body-key axes (FLUX_KEY_SOURCE_REF, FLUX_KEY_CHART, FLUX_KEY_VALUES, FLUX_KEY_HEALTH_CHECKS) which each land on exactly one of the three Flux v2 controller CRDs, the reconcile-poll cadence scalar-axis is the shared Flux v2 per-CR contract every controller (the source-controller, the helm-controller, the kustomize-controller) reads to schedule its per-CR reconcile loop off the sibling per-CR CRD registration. Drift on the scalar-axis key silently drops the per-CR reconcile schedule from the Flux v2 controllers’ per-CR watch registrations — a "Interval" / "period" / "cadence" / "pollInterval" / "reconcileInterval" typo at any of the three emit-side format-string template sites silently drops the per-CR reconcile schedule from the affected Flux v2 controller’s per-CR watch registration; the referenced Git source never re-polls / the referenced chart never re-templates / the parent Kustomization never re-applies at upstream drift, freezing the whole cluster’s per-caixa per-cluster bundle at the last-applied snapshot with no field naming the scalar-axis-drift root cause.

The single source of truth every Flux-v2-per-CR-reconcile-poll-cadence- scalar-axis-naming reaches for — the three per-CR emit sites the cluster_bundle renderer threads through are all named through this one const:

  • the rendered gitrepository.yaml document’s per-GitRepository spec.interval scalar (caixa-flux/src/lib.rs — the cluster_bundle gitrepo format-string template’s baked interval: scalar-axis key, nested alongside the sibling lifted FLUX_GITREPOSITORY_API_VERSION top-level apiVersion + FLUX_KIND_GIT_REPOSITORY top-level kind axes the source- controller reads to bind the per-CR poll cycle);
  • the rendered helmrelease.yaml document’s per-HelmRelease spec.interval scalar (caixa-flux/src/lib.rs — the cluster_bundle helmrelease format-string template’s baked interval: scalar- axis key, nested alongside the sibling lifted FLUX_HELMRELEASE_API_VERSION top-level apiVersion + FLUX_KIND_HELM_RELEASE top-level kind axes the helm-controller reads to bind the per-CR poll cycle);
  • the rendered kustomization.yaml document’s per-Kustomization spec.interval scalar (caixa-flux/src/lib.rs — the cluster_bundle kustomization format-string template’s baked interval: scalar- axis key, nested alongside the sibling lifted FLUX_KUSTOMIZATION_API_VERSION top-level apiVersion + FLUX_KIND_KUSTOMIZATION top-level kind axes the kustomize- controller reads to bind the per-CR poll cycle).

The three sites must move together on any future Flux v3 rebrand (a hypothetical upstream fluxcd/flux2 rename from interval to Interval / period / cadence / pollInterval / reconcileInterval, coordinated with the upstream project’s per-version deprecation cycle, would land at this one const rather than scattered across the three per-CR emit-side format-string template sites). This is a distinct duplication shape from the sibling FLUX_KEY_SOURCE_REF / FLUX_KEY_CHART / FLUX_KEY_VALUES / FLUX_KEY_HEALTH_CHECKS lifts: those closed one-CR-body-key duplication trios (one emit-site per CR + several test-side probes); this one closes the sibling three-CR-shared-body-key triplet the Flux v2 reconcile-poll cadence contract shares across all three per-cluster-bundle CRDs.

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_KEY_SOURCE_REF (e985089) / FLUX_KEY_CHART (8467748) / FLUX_KEY_VALUES (b54dc87) / FLUX_KEY_HEALTH_CHECKS (6dbff58) lifts established on the sibling canonical-Flux-v2-per-CR-body-key surfaces — extends the per-CR body-key lift trajectory onto the sibling cross-CR-shared reconcile- poll cadence scalar-axis every Flux v2 controller reads to bind its per-CR poll cycle.