helmfile/docs
Aditya Menon 4f275b3667
feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262)
This commit adds comprehensive support for Helm 4 while maintaining
full backward compatibility with Helm 3. The implementation includes:

- Updated helm version detection to support both Helm 3 and Helm 4
- Added HELMFILE_HELM4 environment variable to control Helm version
- Modified helm execution paths to handle version-specific binaries
- Updated helm plugin installation to support split architecture

- Helm 4: Uses split plugin architecture (3 separate .tgz files)
  - helm-secrets.tgz
  - helm-secrets-getter.tgz
  - helm-secrets-post-renderer.tgz
- Helm 3: Continues using single plugin installation
- Updated Dockerfiles, CI workflows, and core installation code

- Helm 4 requires post-renderers to be plugins, not executable scripts
- Created Helm plugin structure for integration tests
- Updated helmfile.yaml templates to dynamically select renderer type
- Added test plugins: add-cm, add-cm1, add-cm2

- Updated integration tests for Helm 3/4 compatibility
- Created Helm 4 variant expected output files
- Fixed test determinism issues (repo cleanup between iterations)
- Added version-specific output filtering for warnings/messages

- Updated workflows to test both Helm 3 and Helm 4
- Matrix testing across Helm versions
- Updated helm-diff to v3.14.0 for compatibility

- Updated README and docs with Helm 4 information
- Added migration guidance
- Updated version requirements

All changes are backward compatible - existing Helm 3 users will
see no behavior changes.



fix: update Helm 4 lint expected output to match filtered output

The grep filter removes the semver warning, so the expected output
should not include it. Updated lint-helm4 files to match the filtered
output (warning removed, no extra blank line).

Signed-off-by: Aditya Menon <amenon@canarytechnologies.com>
2025-11-19 07:49:30 +08:00
..
proposals feat(docs): add proposal to remove charts and delete subcommands (#1936) 2025-02-24 08:11:15 -05:00
advanced-features.md chore: documentation updates: grammar & rm whitespace (#1639) 2024-07-21 13:31:41 +08:00
builtin-objects.md Expose release version as .Release.ChartVersion for templating (#2080) 2025-06-17 19:41:42 +08:00
contributing.md Documentation site based on mkdocs and Read the Docs 2022-04-03 05:04:54 +00:00
experimental-features.md v1: Document experimental features (#1512) 2024-05-09 10:18:29 +08:00
hcl_funcs.md Feature/support env hcl and interpolations (#1423) 2024-04-22 08:02:14 +08:00
index.md feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
license.md Documentation site based on mkdocs and Read the Docs 2022-04-03 05:04:54 +00:00
paths.md update examples info (#658) 2023-01-26 07:34:43 +09:00
remote-secrets.md update example chart URL in remote-secrets doc (#1809) 2024-11-28 13:19:08 +08:00
requirements.txt build(deps): bump jinja2 from 3.1.5 to 3.1.6 in /docs (#1956) 2025-03-05 23:20:16 +00:00
shared-configuration-across-teams.md chore: documentation updates: grammar & rm whitespace (#1639) 2024-07-21 13:31:41 +08:00
templating_funcs.md feat: add isDir template function (#1657) 2024-08-06 21:39:00 +08:00
users.md Documentation site based on mkdocs and Read the Docs 2022-04-03 05:04:54 +00:00
writing-helmfile.md Allow secrets to be excluded from release template inheritance (#1189) 2023-12-05 18:17:48 +08:00