Skip to main content

HELM_CHART_API_VERSION

Constant HELM_CHART_API_VERSION 

Source
pub const HELM_CHART_API_VERSION: &str = "v2";
Expand description

Canonical Helm 3 Chart.yaml apiVersion every caixa-helm-rendered lareira-<nome> chart declares at its top-level apiVersion axis. The Helm 3 chart-schema resolution contract keys off this exact "v2" value: helm dependency build, helm lint, and helm template all parse the chart under the Helm 3 v2 schema (which requires ChartYaml::description and permits dependencies: at the top level); drift to the legacy Helm 2 "v1" (the pre-Helm-3 chart schema every upstream Helm-3-migration doc names) silently reroutes the rendered Chart.yaml through the Helm 2 parser, where the top-level dependencies: block is unknown and the chart’s dep on the pleme-computeunit library chart never resolves — helm dependency build reports “no requirements found” and every downstream helm template / helm install on the rendered chart emits an empty release (no ComputeUnit / Service / ScaledObject resources land) far from the source caixa.lisp / the renderer’s build_chart_yaml call site.

The single source of truth the caixa-helm’s build_chart_yaml Chart.yaml apiVersion axis reaches for (caixa-helm/src/lib.rs:298). Peer with the FLUX_HELMRELEASE_API_VERSION (55f0fd9) / FLUX_GITREPOSITORY_API_VERSION (dbbcf29) / FLUX_KUSTOMIZATION_API_VERSION (d2dd1b1) / GATEWAY_API_API_VERSION (3c6cfc3) / CILIUM_API_VERSION (279d611) lifts on the sibling cluster-side-CRD-apiVersion surface — those pin the K8s apiserver-side (apiVersion, kind) RESTMapper contract, this one pins the Helm-side chart-schema-parser contract that gates every rendered lareira-<nome> chart’s dependency resolution before any K8s resource lands. Both axes are load-bearing schema-version discriminators drift-prone by construction across renderer forks.

A future Helm 4 chart-schema promotion (the upstream Helm roadmap names a "v3" apiVersion once the Helm 3 LTS branch closes) is a coordinated migration alongside the upstream Helm chart-schema deprecation cycle, not an incidental edit — pinning it here means the migration lands as one edit at the const + a re-run of the pin tests rather than a per-renderer sweep with no single source of truth to consult. Same “the typed constant lives in one place” discipline the DEFAULT_LIBRARY_NAME (41438dc) / LAREIRA_CHART_NAME_PREFIX / FLUX_HELMRELEASE_API_VERSION (55f0fd9) lifts apply on the peer canonical-Helm-load-bearing-string and cluster-side-CRD-apiVersion axes.