Description
When a user runs helm install or helm upgrade against chart 15.x (Camunda 8.10) using the Helm v3 CLI, render a clear fail error naming the requirement and linking
to the docs, before any other template error surfaces.
Background
Proposed approach
Add a top-of-render guard in a helper that is included from a template guaranteed to render on every install (e.g., a NOTES or top-level template):
{{- if not (semverCompare ">=4.0.0-0" .Capabilities.HelmVersion.Version) -}}
{{- fail (printf "Camunda chart 15.x (8.10) requires Helm v4. Detected Helm CLI version: %s. See https://docs.camunda.io/... for the upgrade path."
.Capabilities.HelmVersion.Version) -}}
{{- end -}}
Render order matters — the guard must execute before any template that would itself fail under v3 (e.g., toYamlPretty-using templates if #6139 not yet merged).
Acceptance criteria
- helm install camunda charts/camunda-platform-8.10 with Helm v3 CLI exits non-zero with the guard message; no unknown function or schema errors precede it.
- Same command with Helm v4 CLI succeeds (or fails for unrelated reasons, not the guard).
- Guard message names: detected CLI version, minimum required version, link to migration docs.
- Unit test in charts/camunda-platform-8.10/test/unit/ covers the v3 path (mock Capabilities.HelmVersion.Version to 3.x.x and assert failure).
Out of scope
Description
When a user runs
helm installorhelm upgradeagainst chart 15.x (Camunda 8.10) using the Helm v3 CLI, render a clearfailerror naming the requirement and linkingto the docs, before any other template error surfaces.
Background
.Capabilities.HelmVersion.Versionis populated by both v3 and v4 CLIs; can be inspected viasemverCompare.charts/camunda-platform-8.10/templates/common/_utilz.tpl:25already usessemverCompareagainst.Capabilities.HelmVersion.Version.Proposed approach
Add a top-of-render guard in a helper that is
included from a template guaranteed to render on every install (e.g., a NOTES or top-level template):Render order matters — the guard must execute before any template that would itself fail under v3 (e.g., toYamlPretty-using templates if #6139 not yet merged).
Acceptance criteria
Out of scope