Fix helmfile init failing to update outdated helm plugins with Helm v4#2554
Conversation
- UpdatePlugin now handles secrets plugin with Helm 4 by using the split plugin architecture (uninstall old + install via installHelmSecretsV4) - UpdatePlugin falls back to uninstall + reinstall when helm plugin update fails (e.g., with Helm 4 or tarball-installed plugins) - Fix string-based semver comparison for helm-secrets version check in both AddPlugin and UpdatePlugin using proper semver comparison - Add helmSecretsRequiresSplitInstall helper for reuse and correctness - Add tests for update failure fallback scenarios Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/533f1b1c-dda6-4934-af27-051e4eaa9927 Co-authored-by: yxxhero <[email protected]>
There was a problem hiding this comment.
Pull request overview
Fixes helmfile init plugin update behavior under Helm v4 by making updates version-aware and adding a reinstall fallback when helm plugin update fails (notably for tarball-installed plugins like helm-secrets with Helm 4’s split-plugin architecture).
Changes:
- Extend plugin update logic to accept repo + version and fall back to uninstall+reinstall when
helm plugin updatefails. - Add proper semver comparison for deciding when Helm 4 requires split installation for
helm-secrets(>= 4.7.0). - Add tests covering the update-failure fallback path and the “error but required version present” behavior.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| pkg/helmexec/exec.go | Adds semver-based Helm 4 helm-secrets split-install detection, a plugin uninstall helper, and enhanced UpdatePlugin logic with reinstall fallback. |
| pkg/app/init.go | Passes plugin repo/version into the new UpdatePlugin signature during helmfile init. |
| pkg/app/init_test.go | Adds tests for update failure fallback to reinstall and for tolerating install errors when the required version is still present. |
| helm.logger.Infof("helm plugin update %v failed, falling back to reinstall with version %v", name, version) | ||
| if uninstallErr := helm.uninstallPlugin(name); uninstallErr != nil { | ||
| helm.logger.Warnf("Failed to uninstall helm plugin %v: %v", name, uninstallErr) | ||
| } | ||
| return helm.AddPlugin(name, path, version) |
There was a problem hiding this comment.
In the fallback path, the original helm plugin update failure is effectively lost (only a generic log line is emitted and the returned error is whatever AddPlugin returns). This makes it hard to diagnose why update failed vs why reinstall failed. Consider including the original err in the log message and wrapping/joining it with any uninstall/install error returned so callers get full context.
| h := NewHelmfileInit("helm", &mockInitConfigProvider{force: true}, newTestLogger(), runner) | ||
| err := h.CheckHelmPlugins() | ||
| // Should succeed: update failed but fallback reinstall updated the plugin | ||
| assert.NoError(t, err) | ||
|
|
There was a problem hiding this comment.
This test verifies that update/uninstall/install commands were invoked, but it doesn’t assert that the plugin versions on disk were actually updated to the required versions after CheckHelmPlugins() completes. Adding an assertion that helmexec.GetPluginVersion(...) is >= the required version for each plugin would make the test validate the behavior it describes and avoid false positives if the reinstall doesn’t update plugin.yaml.
|
@copilot fix comments |
…ion assertions in tests - exec.go: include original update error in fallback log message; wrap both errors (update + reinstall) when reinstall also fails so callers get full context - init_test.go: add semver import and GetPluginVersion assertions after CheckHelmPlugins to verify plugins are at required versions on disk Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/c784db7d-7d4c-40a0-97f0-a31eb8901cd6 Co-authored-by: yxxhero <[email protected]>
Both reviewer comments addressed in a31ee32:
|
| func (helm *execer) UpdatePlugin(name, path, version string) error { | ||
| helm.logger.Infof("Updating helm plugin %v", name) | ||
|
|
There was a problem hiding this comment.
The new UpdatePlugin(name, path, version) signature uses path for what is effectively the plugin source/repo URL (as passed from p.repo). Renaming this parameter (and corresponding local variables) to repo/source would reduce confusion, especially since path elsewhere in this file sometimes means a filesystem path.
| v, err := semver.NewVersion(version) | ||
| if err != nil { | ||
| return false | ||
| } | ||
| return !v.LessThan(helmSecretsV4SplitMinVersion) |
There was a problem hiding this comment.
The semver-based split-install decision (helmSecretsRequiresSplitInstall) is a key behavioral change (fixing the v4.10.0+ string-compare bug), but it’s currently untested. Adding focused unit tests in pkg/helmexec/exec_test.go for versions like v4.6.9, v4.7.0, v4.10.0, and a pre-release would help prevent regressions; it would also be valuable to cover the Helm 4 helm-secrets update path that uninstalls the split plugins before reinstalling.
| func (helm *execer) uninstallPlugin(name string) error { | ||
| helm.logger.Infof("Uninstalling helm plugin %v", name) | ||
| out, err := helm.exec([]string{"plugin", "uninstall", name}, map[string]string{}, nil) | ||
| helm.info(out) |
There was a problem hiding this comment.
uninstallPlugin always logs command output via helm.info(out) even when the caller intends to ignore uninstall errors (e.g., the Helm 4 helm-secrets split uninstall loop). This can surface expected uninstall failures as INFO output and confuse users. Consider only emitting out at INFO when err == nil, and logging output at DEBUG (or not at all) when uninstall fails and the caller treats it as non-fatal.
| helm.info(out) | |
| if err == nil { | |
| helm.info(out) | |
| } |
|
@copilot fix comments |
- exec.go: rename UpdatePlugin parameter path→repo for clarity - exec.go: fix uninstallPlugin to only emit INFO log when err == nil - exec_test.go: add Test_helmSecretsRequiresSplitInstall table-driven tests covering v4.6.9, v4.7.0, v4.8.0, v4.10.0, pre-release, invalid and empty - exec_test.go: add Test_UpdatePlugin_Helm4SecretsUsesUninstallReinstall verifying that Helm 4 + secrets uses uninstall+reinstall (not plugin update) Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/cbd3f8c9-ec7d-4500-b168-cb1c2f7c87bc Co-authored-by: yxxhero <[email protected]>
All three reviewer comments addressed in 6efb12f:
|
| calledOps = append(calledOps, "update:"+args[2]) | ||
| // Simulate helm plugin update failing (as can happen with Helm 4) | ||
| return nil, helmexec.ExitError{Message: "plugin update failed", Code: 1} | ||
| case "uninstall": | ||
| calledOps = append(calledOps, "uninstall:"+args[2]) |
There was a problem hiding this comment.
This test mock assumes args[2] always exists for plugin update/plugin uninstall and will panic with an index-out-of-range if the invoked args ever change (or if a failure occurs before the plugin name is appended). Add len(args) >= 3 guards in the update and uninstall cases (similar to the existing install guard) to keep the test robust.
| calledOps = append(calledOps, "update:"+args[2]) | |
| // Simulate helm plugin update failing (as can happen with Helm 4) | |
| return nil, helmexec.ExitError{Message: "plugin update failed", Code: 1} | |
| case "uninstall": | |
| calledOps = append(calledOps, "uninstall:"+args[2]) | |
| if len(args) >= 3 { | |
| calledOps = append(calledOps, "update:"+args[2]) | |
| } | |
| // Simulate helm plugin update failing (as can happen with Helm 4) | |
| return nil, helmexec.ExitError{Message: "plugin update failed", Code: 1} | |
| case "uninstall": | |
| if len(args) >= 3 { | |
| calledOps = append(calledOps, "uninstall:"+args[2]) | |
| } |
|
@copilot fix comments |
| updateErr := err | ||
| helm.logger.Infof("helm plugin update %v failed (%v), falling back to reinstall with version %v", name, updateErr, version) | ||
| if uninstallErr := helm.uninstallPlugin(name); uninstallErr != nil { | ||
| helm.logger.Warnf("Failed to uninstall helm plugin %v: %v", name, uninstallErr) |
There was a problem hiding this comment.
Fixed in 9f86ea4 — if uninstall fails, we now return immediately with a combined error wrapping both the original update error and the uninstall error, rather than proceeding to a reinstall that would likely fail too.
…) (#32) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [aqua:helmfile/helmfile](https://github.com/helmfile/helmfile) | minor | `1.4.1` → `1.5.2` | --- ### Release Notes <details> <summary>helmfile/helmfile (aqua:helmfile/helmfile)</summary> ### [`v1.5.2`](https://github.com/helmfile/helmfile/releases/tag/v1.5.2) [Compare Source](helmfile/helmfile@v1.5.1...v1.5.2) #### What's Changed - Bump Helm support to 3.21.0 and 4.2.0 by [@​Copilot](https://github.com/Copilot) in [#​2588](helmfile/helmfile#2588) - bump helm-diff to v3.15.7 by [@​Copilot](https://github.com/Copilot) in [#​2591](helmfile/helmfile#2591) - fix: refresh Chart.lock after rewriting file:// dependencies by [@​sstarcher](https://github.com/sstarcher) in [#​2587](helmfile/helmfile#2587) - feat: support HELMFILE\_KUBE\_CONTEXT env var for default kube context by [@​dschmidt](https://github.com/dschmidt) in [#​2593](helmfile/helmfile#2593) - feat: support HELMFILE\_NAMESPACE env var for default namespace by [@​dschmidt](https://github.com/dschmidt) in [#​2592](helmfile/helmfile#2592) - fix: normalize dependency chart path before DirectoryExistsAt check by [@​yxxhero](https://github.com/yxxhero) in [#​2598](helmfile/helmfile#2598) - Add jsonPatches regression coverage for chartify lookup rendering by [@​Copilot](https://github.com/Copilot) in [#​2586](helmfile/helmfile#2586) - feat: add defaultInherit for automatic release template inheritance by [@​yxxhero](https://github.com/yxxhero) in [#​2600](helmfile/helmfile#2600) - fix: restore kubedog status progress output during tracking by [@​yxxhero](https://github.com/yxxhero) in [#​2602](helmfile/helmfile#2602) - feat: show diff preview when sync --interactive is used by [@​vomba](https://github.com/vomba) in [#​2603](helmfile/helmfile#2603) - build(deps): bump github.com/containerd/containerd from 1.7.30 to 1.7.32 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2607](helmfile/helmfile#2607) - feat: support HELMFILE\_\* env vars for more global flags by [@​dschmidt](https://github.com/dschmidt) in [#​2606](helmfile/helmfile#2606) #### New Contributors - [@​vomba](https://github.com/vomba) made their first contribution in [#​2603](helmfile/helmfile#2603) **Full Changelog**: <helmfile/helmfile@v1.5.1...v1.5.2> ### [`v1.5.1`](https://github.com/helmfile/helmfile/releases/tag/v1.5.1) [Compare Source](helmfile/helmfile@v1.5.0...v1.5.1) #### What's Changed - fix: add trackFailOnError option to control kubedog exit code by [@​yxxhero](https://github.com/yxxhero) in [#​2576](helmfile/helmfile#2576) - docs: update helmfile skill to reflect v1.1 documentation by [@​yxxhero](https://github.com/yxxhero) in [#​2577](helmfile/helmfile#2577) - fix(state): resolve OCI repo prefix in ad-hoc release dependencies by [@​dschmidt](https://github.com/dschmidt) in [#​2579](helmfile/helmfile#2579) - feat(state): add mergeStrategy: fallback for first-file-wins env values by [@​dschmidt](https://github.com/dschmidt) in [#​2578](helmfile/helmfile#2578) - Expose internal apis by [@​ceriath](https://github.com/ceriath) in [#​2520](helmfile/helmfile#2520) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.100.1 to 1.101.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2581](helmfile/helmfile#2581) - chore: Deduplicate preparation code of sync and apply by [@​ceriath](https://github.com/ceriath) in [#​2523](helmfile/helmfile#2523) - build(deps): bump gitpython from 3.1.47 to 3.1.49 in /docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2582](helmfile/helmfile#2582) - chore: Emit "cleanup" events later to match the behavior in "apply" by [@​ceriath](https://github.com/ceriath) in [#​2522](helmfile/helmfile#2522) - build(deps): bump golang.org/x/term from 0.42.0 to 0.43.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2584](helmfile/helmfile#2584) - build(deps): bump gitpython from 3.1.49 to 3.1.50 in /docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2585](helmfile/helmfile#2585) - fix: template helmDefaults.postRendererArgs with release data by [@​yxxhero](https://github.com/yxxhero) in [#​2583](helmfile/helmfile#2583) **Full Changelog**: <helmfile/helmfile@v1.5.0...v1.5.1> ### [`v1.5.0`](https://github.com/helmfile/helmfile/releases/tag/v1.5.0) [Compare Source](helmfile/helmfile@v1.4.5...v1.5.0) #### What's Changed - feat: add --write-output flag to helmfile fetch for air-gapped environments by [@​yxxhero](https://github.com/yxxhero) in [#​2572](helmfile/helmfile#2572) - feat: add 'create' subcommand to scaffold helmfile deployment projects by [@​yxxhero](https://github.com/yxxhero) in [#​2574](helmfile/helmfile#2574) - docs: restructure documentation and improve newcomer experience by [@​yxxhero](https://github.com/yxxhero) in [#​2573](helmfile/helmfile#2573) - docs: deduplicate Technical Details sections in values-and-merging.md by [@​yxxhero](https://github.com/yxxhero) in [#​2575](helmfile/helmfile#2575) **Full Changelog**: <helmfile/helmfile@v1.4.5...v1.5.0> ### [`v1.4.5`](https://github.com/helmfile/helmfile/releases/tag/v1.4.5) [Compare Source](helmfile/helmfile@v1.4.4...v1.4.5) #### What's Changed - build(deps): bump go.opentelemetry.io/otel/sdk from 1.42.0 to 1.43.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2524](helmfile/helmfile#2524) - chore: rename variables to match in apply and sync by [@​ceriath](https://github.com/ceriath) in [#​2521](helmfile/helmfile#2521) - chore: bump Helm to v4.1.4 by [@​Copilot](https://github.com/Copilot) in [#​2525](helmfile/helmfile#2525) - build(deps): bump golang.org/x/term from 0.41.0 to 0.42.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2529](helmfile/helmfile#2529) - bump helm v3.20.1 to v3.20.2 by [@​Copilot](https://github.com/Copilot) in [#​2530](helmfile/helmfile#2530) - build(deps): bump github.com/helmfile/vals from 0.43.8 to 0.43.9 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2533](helmfile/helmfile#2533) - Update Go from 1.25.8 to 1.26.2 by [@​Copilot](https://github.com/Copilot) in [#​2535](helmfile/helmfile#2535) - fix: boolean false overrides dropped in multi-document helmfiles ([#​2527](helmfile/helmfile#2527)) by [@​yxxhero](https://github.com/yxxhero) in [#​2532](helmfile/helmfile#2532) - build(deps): bump github.com/helmfile/chartify from 0.26.2 to 0.26.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2538](helmfile/helmfile#2538) - fix: add mutex lock for concurrent rewriteChartDependencies access by [@​yxxhero](https://github.com/yxxhero) in [#​2509](helmfile/helmfile#2509) - fix: update state values files handling to replace arrays instead of merging by [@​Moglum](https://github.com/Moglum) in [#​2537](helmfile/helmfile#2537) - fix: helmDefaults.postRendererArgs not passed to helm commands by [@​yxxhero](https://github.com/yxxhero) in [#​2510](helmfile/helmfile#2510) - enabledns flags available on template command by [@​Diliz](https://github.com/Diliz) in [#​2511](helmfile/helmfile#2511) - build(deps): bump k8s.io/apimachinery from 0.35.3 to 0.35.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2540](helmfile/helmfile#2540) - build(deps): bump k8s.io/client-go from 0.35.3 to 0.35.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2539](helmfile/helmfile#2539) - build(deps): bump github.com/zclconf/go-cty from 1.18.0 to 1.18.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2542](helmfile/helmfile#2542) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.14 to 1.32.15 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2543](helmfile/helmfile#2543) - fix: eliminate race condition in rewriteChartDependencies by [@​yxxhero](https://github.com/yxxhero) in [#​2541](helmfile/helmfile#2541) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.99.0 to 1.99.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2546](helmfile/helmfile#2546) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.15 to 1.32.16 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2547](helmfile/helmfile#2547) - build(deps): bump k8s.io/apimachinery from 0.35.4 to 0.36.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2553](helmfile/helmfile#2553) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.99.1 to 1.100.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2552](helmfile/helmfile#2552) - Fix helmfile init failing to update outdated helm plugins with Helm v4 by [@​Copilot](https://github.com/Copilot) in [#​2554](helmfile/helmfile#2554) - fix: skip subhelmfiles when selectors conflict with CLI selectors by [@​yxxhero](https://github.com/yxxhero) in [#​2545](helmfile/helmfile#2545) - build(deps): bump gitpython from 3.1.41 to 3.1.47 in /docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2555](helmfile/helmfile#2555) - fix: apply post-renderer to output-dir-template output by [@​yxxhero](https://github.com/yxxhero) in [#​2531](helmfile/helmfile#2531) - build(deps): bump go.uber.org/zap from 1.27.1 to 1.28.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2557](helmfile/helmfile#2557) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.100.0 to 1.100.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2558](helmfile/helmfile#2558) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.16 to 1.32.17 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2559](helmfile/helmfile#2559) - update readme add install from source by [@​Sianao](https://github.com/Sianao) in [#​2561](helmfile/helmfile#2561) - Honor `skipSchemaValidation` during chartification when `forceNamespace` is set by [@​Copilot](https://github.com/Copilot) in [#​2550](helmfile/helmfile#2550) - build(deps): bump github.com/Masterminds/semver/v3 from 3.4.0 to 3.5.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2565](helmfile/helmfile#2565) - fix: deduplicate chart dependencies in helmfile.lock by [@​yxxhero](https://github.com/yxxhero) in [#​2567](helmfile/helmfile#2567) - build(deps): replace werf/kubedog-for-werf-helm with werf/kubedog by [@​yxxhero](https://github.com/yxxhero) in [#​2568](helmfile/helmfile#2568) - build(deps): bump helmfile/vals from v0.43.9 to v0.44.0 by [@​yxxhero](https://github.com/yxxhero) in [#​2569](helmfile/helmfile#2569) - fix: use --post-renderer-args=VALUE format to prevent Helm flag parsing failure by [@​yxxhero](https://github.com/yxxhero) in [#​2570](helmfile/helmfile#2570) #### New Contributors - [@​Moglum](https://github.com/Moglum) made their first contribution in [#​2537](helmfile/helmfile#2537) - [@​Diliz](https://github.com/Diliz) made their first contribution in [#​2511](helmfile/helmfile#2511) - [@​Sianao](https://github.com/Sianao) made their first contribution in [#​2561](helmfile/helmfile#2561) **Full Changelog**: <helmfile/helmfile@v1.4.4...v1.4.5> ### [`v1.4.4`](https://github.com/helmfile/helmfile/releases/tag/v1.4.4) [Compare Source](helmfile/helmfile@v1.4.3...v1.4.4) #### What's Changed - build(deps): bump azure/setup-helm from 4.3.1 to 5.0.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2499](helmfile/helmfile#2499) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.97.1 to 1.97.2 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2500](helmfile/helmfile#2500) - fix: helmfile fetch fails for kustomization directories by [@​yxxhero](https://github.com/yxxhero) in [#​2504](helmfile/helmfile#2504) - fix: keep all chart dependencies key / values by [@​champtar](https://github.com/champtar) in [#​2501](helmfile/helmfile#2501) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.97.2 to 1.97.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2505](helmfile/helmfile#2505) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.12 to 1.32.13 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2506](helmfile/helmfile#2506) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.97.3 to 1.98.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2512](helmfile/helmfile#2512) - build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2513](helmfile/helmfile#2513) - chore: update go version to 1.25.8 by [@​eadred](https://github.com/eadred) in [#​2514](helmfile/helmfile#2514) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.13 to 1.32.14 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2516](helmfile/helmfile#2516) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.98.0 to 1.99.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2517](helmfile/helmfile#2517) - build(deps): bump github.com/helmfile/vals from 0.43.7 to 0.43.8 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2518](helmfile/helmfile#2518) #### New Contributors - [@​champtar](https://github.com/champtar) made their first contribution in [#​2501](helmfile/helmfile#2501) - [@​eadred](https://github.com/eadred) made their first contribution in [#​2514](helmfile/helmfile#2514) **Full Changelog**: <helmfile/helmfile@v1.4.3...v1.4.4> ### [`v1.4.3`](https://github.com/helmfile/helmfile/releases/tag/v1.4.3) [Compare Source](helmfile/helmfile@v1.4.2...v1.4.3) #### What's Changed - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.97.0 to 1.97.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2488](helmfile/helmfile#2488) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.11 to 1.32.12 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2487](helmfile/helmfile#2487) - Fix interactive apply asks in no change situation by [@​tarrow](https://github.com/tarrow) in [#​945](helmfile/helmfile#945) - build(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2490](helmfile/helmfile#2490) - fix: helmfile list now reflects version from helmfile.lock by [@​yxxhero](https://github.com/yxxhero) in [#​2486](helmfile/helmfile#2486) - build(deps): bump k8s.io/client-go from 0.35.2 to 0.35.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2492](helmfile/helmfile#2492) - build(deps): bump github.com/fatih/color from 1.18.0 to 1.19.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2494](helmfile/helmfile#2494) - fix: cleanup hooks not receiving error signal by [@​yxxhero](https://github.com/yxxhero) in [#​2475](helmfile/helmfile#2475) - fix: pass --timeout flag through to helm for sync and apply by [@​hristiy4n](https://github.com/hristiy4n) in [#​2495](helmfile/helmfile#2495) - fix: error on missing secret key when using vals by [@​yxxhero](https://github.com/yxxhero) in [#​2496](helmfile/helmfile#2496) - build: update helm-diff to v3.15.3 by [@​yxxhero](https://github.com/yxxhero) in [#​2498](helmfile/helmfile#2498) - feat: add an arg that passing description to `helm upgrade` command by [@​swimablefish](https://github.com/swimablefish) in [#​2497](helmfile/helmfile#2497) #### New Contributors - [@​tarrow](https://github.com/tarrow) made their first contribution in [#​945](helmfile/helmfile#945) - [@​hristiy4n](https://github.com/hristiy4n) made their first contribution in [#​2495](helmfile/helmfile#2495) - [@​swimablefish](https://github.com/swimablefish) made their first contribution in [#​2497](helmfile/helmfile#2497) **Full Changelog**: <helmfile/helmfile@v1.4.2...v1.4.3> ### [`v1.4.2`](https://github.com/helmfile/helmfile/releases/tag/v1.4.2) [Compare Source](helmfile/helmfile@v1.4.1...v1.4.2) #### What's Changed - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.96.2 to 1.96.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2456](helmfile/helmfile#2456) - build(deps): bump docker/login-action from 3 to 4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2454](helmfile/helmfile#2454) - build(deps): bump docker/setup-qemu-action from 3 to 4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2453](helmfile/helmfile#2453) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.10 to 1.32.11 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2455](helmfile/helmfile#2455) - Add CHANGELOG.md by [@​PhilipLudington](https://github.com/PhilipLudington) in [#​2457](helmfile/helmfile#2457) - build(deps): bump docker/setup-buildx-action from 3 to 4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2462](helmfile/helmfile#2462) - build(deps): bump markdown from 3.6 to 3.8.1 in /docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2463](helmfile/helmfile#2463) - build(deps): bump docker/build-push-action from 6 to 7 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2469](helmfile/helmfile#2469) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.96.3 to 1.96.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2470](helmfile/helmfile#2470) - build(deps): bump docker/metadata-action from 5 to 6 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2468](helmfile/helmfile#2468) - feat: add helm-legacy track mode for Helm v4 compatibility by [@​yxxhero](https://github.com/yxxhero) in [#​2466](helmfile/helmfile#2466) - docs: add comprehensive values merging and data flow guide by [@​yxxhero](https://github.com/yxxhero) in [#​2461](helmfile/helmfile#2461) - fix: nested helmfile values should replace arrays, not merge element-by-element by [@​aditmeno](https://github.com/aditmeno) in [#​2458](helmfile/helmfile#2458) - build(deps): bump go.yaml.in/yaml/v2 from 2.4.3 to 2.4.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2473](helmfile/helmfile#2473) - build(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2472](helmfile/helmfile#2472) - fix: use --force-replace flag for Helm 4 instead of deprecated --force by [@​yxxhero](https://github.com/yxxhero) in [#​2477](helmfile/helmfile#2477) - build(deps): bump golang.org/x/term from 0.40.0 to 0.41.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2479](helmfile/helmfile#2479) - build(deps): bump github.com/helmfile/vals from 0.43.6 to 0.43.7 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2478](helmfile/helmfile#2478) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.96.4 to 1.97.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2484](helmfile/helmfile#2484) - build(deps): bump Helm from v4.1.1 to v4.1.3 by [@​yxxhero](https://github.com/yxxhero) in [#​2481](helmfile/helmfile#2481) - feat: add --force-conflicts flag support for Helm 4 by [@​yxxhero](https://github.com/yxxhero) in [#​2480](helmfile/helmfile#2480) #### New Contributors - [@​PhilipLudington](https://github.com/PhilipLudington) made their first contribution in [#​2457](helmfile/helmfile#2457) **Full Changelog**: <helmfile/helmfile@v1.4.1...v1.4.2> </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE5NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL21pbm9yIl19--> Reviewed-on: https://forgejo.hayden.moe/hayden/phoebe/pulls/32
…) (#42) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [aqua:helmfile/helmfile](https://github.com/helmfile/helmfile) | minor | `1.4.1` → `1.5.3` | --- >⚠️ **Warning** > > Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/28) for more information. --- ### Release Notes <details> <summary>helmfile/helmfile (aqua:helmfile/helmfile)</summary> ### [`v1.5.3`](https://github.com/helmfile/helmfile/releases/tag/v1.5.3) [Compare Source](helmfile/helmfile@v1.5.2...v1.5.3) #### What's Changed - build(deps): bump github.com/gookit/color from 1.5.4 to 1.6.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2608](helmfile/helmfile#2608) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.17 to 1.32.18 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2610](helmfile/helmfile#2610) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.101.0 to 1.102.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2612](helmfile/helmfile#2612) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.102.0 to 1.102.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2613](helmfile/helmfile#2613) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.18 to 1.32.20 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2614](helmfile/helmfile#2614) - fix: support array of maps in set/setTemplate values by [@​yxxhero](https://github.com/yxxhero) in [#​2615](helmfile/helmfile#2615) - fix: remove naked return by returning expected values by [@​ceriath](https://github.com/ceriath) in [#​2617](helmfile/helmfile#2617) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.102.1 to 1.103.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2619](helmfile/helmfile#2619) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.20 to 1.32.21 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2618](helmfile/helmfile#2618) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.103.0 to 1.103.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2620](helmfile/helmfile#2620) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.21 to 1.32.22 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2621](helmfile/helmfile#2621) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.103.1 to 1.103.2 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2622](helmfile/helmfile#2622) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.22 to 1.32.23 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2623](helmfile/helmfile#2623) - Bump helm-diff to v3.15.8 across runtime defaults and execution environments by [@​Copilot](https://github.com/Copilot) in [#​2624](helmfile/helmfile#2624) - build(deps): bump golang.org/x/sync from 0.20.0 to 0.21.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2625](helmfile/helmfile#2625) **Full Changelog**: <helmfile/helmfile@v1.5.2...v1.5.3> ### [`v1.5.2`](https://github.com/helmfile/helmfile/releases/tag/v1.5.2) [Compare Source](helmfile/helmfile@v1.5.1...v1.5.2) #### What's Changed - Bump Helm support to 3.21.0 and 4.2.0 by [@​Copilot](https://github.com/Copilot) in [#​2588](helmfile/helmfile#2588) - bump helm-diff to v3.15.7 by [@​Copilot](https://github.com/Copilot) in [#​2591](helmfile/helmfile#2591) - fix: refresh Chart.lock after rewriting file:// dependencies by [@​sstarcher](https://github.com/sstarcher) in [#​2587](helmfile/helmfile#2587) - feat: support HELMFILE\_KUBE\_CONTEXT env var for default kube context by [@​dschmidt](https://github.com/dschmidt) in [#​2593](helmfile/helmfile#2593) - feat: support HELMFILE\_NAMESPACE env var for default namespace by [@​dschmidt](https://github.com/dschmidt) in [#​2592](helmfile/helmfile#2592) - fix: normalize dependency chart path before DirectoryExistsAt check by [@​yxxhero](https://github.com/yxxhero) in [#​2598](helmfile/helmfile#2598) - Add jsonPatches regression coverage for chartify lookup rendering by [@​Copilot](https://github.com/Copilot) in [#​2586](helmfile/helmfile#2586) - feat: add defaultInherit for automatic release template inheritance by [@​yxxhero](https://github.com/yxxhero) in [#​2600](helmfile/helmfile#2600) - fix: restore kubedog status progress output during tracking by [@​yxxhero](https://github.com/yxxhero) in [#​2602](helmfile/helmfile#2602) - feat: show diff preview when sync --interactive is used by [@​vomba](https://github.com/vomba) in [#​2603](helmfile/helmfile#2603) - build(deps): bump github.com/containerd/containerd from 1.7.30 to 1.7.32 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2607](helmfile/helmfile#2607) - feat: support HELMFILE\_\* env vars for more global flags by [@​dschmidt](https://github.com/dschmidt) in [#​2606](helmfile/helmfile#2606) #### New Contributors - [@​vomba](https://github.com/vomba) made their first contribution in [#​2603](helmfile/helmfile#2603) **Full Changelog**: <helmfile/helmfile@v1.5.1...v1.5.2> ### [`v1.5.1`](https://github.com/helmfile/helmfile/releases/tag/v1.5.1) [Compare Source](helmfile/helmfile@v1.5.0...v1.5.1) #### What's Changed - fix: add trackFailOnError option to control kubedog exit code by [@​yxxhero](https://github.com/yxxhero) in [#​2576](helmfile/helmfile#2576) - docs: update helmfile skill to reflect v1.1 documentation by [@​yxxhero](https://github.com/yxxhero) in [#​2577](helmfile/helmfile#2577) - fix(state): resolve OCI repo prefix in ad-hoc release dependencies by [@​dschmidt](https://github.com/dschmidt) in [#​2579](helmfile/helmfile#2579) - feat(state): add mergeStrategy: fallback for first-file-wins env values by [@​dschmidt](https://github.com/dschmidt) in [#​2578](helmfile/helmfile#2578) - Expose internal apis by [@​ceriath](https://github.com/ceriath) in [#​2520](helmfile/helmfile#2520) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.100.1 to 1.101.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2581](helmfile/helmfile#2581) - chore: Deduplicate preparation code of sync and apply by [@​ceriath](https://github.com/ceriath) in [#​2523](helmfile/helmfile#2523) - build(deps): bump gitpython from 3.1.47 to 3.1.49 in /docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2582](helmfile/helmfile#2582) - chore: Emit "cleanup" events later to match the behavior in "apply" by [@​ceriath](https://github.com/ceriath) in [#​2522](helmfile/helmfile#2522) - build(deps): bump golang.org/x/term from 0.42.0 to 0.43.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2584](helmfile/helmfile#2584) - build(deps): bump gitpython from 3.1.49 to 3.1.50 in /docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2585](helmfile/helmfile#2585) - fix: template helmDefaults.postRendererArgs with release data by [@​yxxhero](https://github.com/yxxhero) in [#​2583](helmfile/helmfile#2583) **Full Changelog**: <helmfile/helmfile@v1.5.0...v1.5.1> ### [`v1.5.0`](https://github.com/helmfile/helmfile/releases/tag/v1.5.0) [Compare Source](helmfile/helmfile@v1.4.5...v1.5.0) #### What's Changed - feat: add --write-output flag to helmfile fetch for air-gapped environments by [@​yxxhero](https://github.com/yxxhero) in [#​2572](helmfile/helmfile#2572) - feat: add 'create' subcommand to scaffold helmfile deployment projects by [@​yxxhero](https://github.com/yxxhero) in [#​2574](helmfile/helmfile#2574) - docs: restructure documentation and improve newcomer experience by [@​yxxhero](https://github.com/yxxhero) in [#​2573](helmfile/helmfile#2573) - docs: deduplicate Technical Details sections in values-and-merging.md by [@​yxxhero](https://github.com/yxxhero) in [#​2575](helmfile/helmfile#2575) **Full Changelog**: <helmfile/helmfile@v1.4.5...v1.5.0> ### [`v1.4.5`](https://github.com/helmfile/helmfile/releases/tag/v1.4.5) [Compare Source](helmfile/helmfile@v1.4.4...v1.4.5) #### What's Changed - build(deps): bump go.opentelemetry.io/otel/sdk from 1.42.0 to 1.43.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2524](helmfile/helmfile#2524) - chore: rename variables to match in apply and sync by [@​ceriath](https://github.com/ceriath) in [#​2521](helmfile/helmfile#2521) - chore: bump Helm to v4.1.4 by [@​Copilot](https://github.com/Copilot) in [#​2525](helmfile/helmfile#2525) - build(deps): bump golang.org/x/term from 0.41.0 to 0.42.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2529](helmfile/helmfile#2529) - bump helm v3.20.1 to v3.20.2 by [@​Copilot](https://github.com/Copilot) in [#​2530](helmfile/helmfile#2530) - build(deps): bump github.com/helmfile/vals from 0.43.8 to 0.43.9 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2533](helmfile/helmfile#2533) - Update Go from 1.25.8 to 1.26.2 by [@​Copilot](https://github.com/Copilot) in [#​2535](helmfile/helmfile#2535) - fix: boolean false overrides dropped in multi-document helmfiles ([#​2527](helmfile/helmfile#2527)) by [@​yxxhero](https://github.com/yxxhero) in [#​2532](helmfile/helmfile#2532) - build(deps): bump github.com/helmfile/chartify from 0.26.2 to 0.26.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2538](helmfile/helmfile#2538) - fix: add mutex lock for concurrent rewriteChartDependencies access by [@​yxxhero](https://github.com/yxxhero) in [#​2509](helmfile/helmfile#2509) - fix: update state values files handling to replace arrays instead of merging by [@​Moglum](https://github.com/Moglum) in [#​2537](helmfile/helmfile#2537) - fix: helmDefaults.postRendererArgs not passed to helm commands by [@​yxxhero](https://github.com/yxxhero) in [#​2510](helmfile/helmfile#2510) - enabledns flags available on template command by [@​Diliz](https://github.com/Diliz) in [#​2511](helmfile/helmfile#2511) - build(deps): bump k8s.io/apimachinery from 0.35.3 to 0.35.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2540](helmfile/helmfile#2540) - build(deps): bump k8s.io/client-go from 0.35.3 to 0.35.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2539](helmfile/helmfile#2539) - build(deps): bump github.com/zclconf/go-cty from 1.18.0 to 1.18.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2542](helmfile/helmfile#2542) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.14 to 1.32.15 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2543](helmfile/helmfile#2543) - fix: eliminate race condition in rewriteChartDependencies by [@​yxxhero](https://github.com/yxxhero) in [#​2541](helmfile/helmfile#2541) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.99.0 to 1.99.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2546](helmfile/helmfile#2546) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.15 to 1.32.16 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2547](helmfile/helmfile#2547) - build(deps): bump k8s.io/apimachinery from 0.35.4 to 0.36.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2553](helmfile/helmfile#2553) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.99.1 to 1.100.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2552](helmfile/helmfile#2552) - Fix helmfile init failing to update outdated helm plugins with Helm v4 by [@​Copilot](https://github.com/Copilot) in [#​2554](helmfile/helmfile#2554) - fix: skip subhelmfiles when selectors conflict with CLI selectors by [@​yxxhero](https://github.com/yxxhero) in [#​2545](helmfile/helmfile#2545) - build(deps): bump gitpython from 3.1.41 to 3.1.47 in /docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2555](helmfile/helmfile#2555) - fix: apply post-renderer to output-dir-template output by [@​yxxhero](https://github.com/yxxhero) in [#​2531](helmfile/helmfile#2531) - build(deps): bump go.uber.org/zap from 1.27.1 to 1.28.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2557](helmfile/helmfile#2557) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.100.0 to 1.100.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2558](helmfile/helmfile#2558) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.16 to 1.32.17 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2559](helmfile/helmfile#2559) - update readme add install from source by [@​Sianao](https://github.com/Sianao) in [#​2561](helmfile/helmfile#2561) - Honor `skipSchemaValidation` during chartification when `forceNamespace` is set by [@​Copilot](https://github.com/Copilot) in [#​2550](helmfile/helmfile#2550) - build(deps): bump github.com/Masterminds/semver/v3 from 3.4.0 to 3.5.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2565](helmfile/helmfile#2565) - fix: deduplicate chart dependencies in helmfile.lock by [@​yxxhero](https://github.com/yxxhero) in [#​2567](helmfile/helmfile#2567) - build(deps): replace werf/kubedog-for-werf-helm with werf/kubedog by [@​yxxhero](https://github.com/yxxhero) in [#​2568](helmfile/helmfile#2568) - build(deps): bump helmfile/vals from v0.43.9 to v0.44.0 by [@​yxxhero](https://github.com/yxxhero) in [#​2569](helmfile/helmfile#2569) - fix: use --post-renderer-args=VALUE format to prevent Helm flag parsing failure by [@​yxxhero](https://github.com/yxxhero) in [#​2570](helmfile/helmfile#2570) #### New Contributors - [@​Moglum](https://github.com/Moglum) made their first contribution in [#​2537](helmfile/helmfile#2537) - [@​Diliz](https://github.com/Diliz) made their first contribution in [#​2511](helmfile/helmfile#2511) - [@​Sianao](https://github.com/Sianao) made their first contribution in [#​2561](helmfile/helmfile#2561) **Full Changelog**: <helmfile/helmfile@v1.4.4...v1.4.5> ### [`v1.4.4`](https://github.com/helmfile/helmfile/releases/tag/v1.4.4) [Compare Source](helmfile/helmfile@v1.4.3...v1.4.4) #### What's Changed - build(deps): bump azure/setup-helm from 4.3.1 to 5.0.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2499](helmfile/helmfile#2499) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.97.1 to 1.97.2 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2500](helmfile/helmfile#2500) - fix: helmfile fetch fails for kustomization directories by [@​yxxhero](https://github.com/yxxhero) in [#​2504](helmfile/helmfile#2504) - fix: keep all chart dependencies key / values by [@​champtar](https://github.com/champtar) in [#​2501](helmfile/helmfile#2501) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.97.2 to 1.97.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2505](helmfile/helmfile#2505) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.12 to 1.32.13 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2506](helmfile/helmfile#2506) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.97.3 to 1.98.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2512](helmfile/helmfile#2512) - build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2513](helmfile/helmfile#2513) - chore: update go version to 1.25.8 by [@​eadred](https://github.com/eadred) in [#​2514](helmfile/helmfile#2514) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.13 to 1.32.14 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2516](helmfile/helmfile#2516) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.98.0 to 1.99.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2517](helmfile/helmfile#2517) - build(deps): bump github.com/helmfile/vals from 0.43.7 to 0.43.8 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2518](helmfile/helmfile#2518) #### New Contributors - [@​champtar](https://github.com/champtar) made their first contribution in [#​2501](helmfile/helmfile#2501) - [@​eadred](https://github.com/eadred) made their first contribution in [#​2514](helmfile/helmfile#2514) **Full Changelog**: <helmfile/helmfile@v1.4.3...v1.4.4> ### [`v1.4.3`](https://github.com/helmfile/helmfile/releases/tag/v1.4.3) [Compare Source](helmfile/helmfile@v1.4.2...v1.4.3) #### What's Changed - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.97.0 to 1.97.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2488](helmfile/helmfile#2488) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.11 to 1.32.12 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2487](helmfile/helmfile#2487) - Fix interactive apply asks in no change situation by [@​tarrow](https://github.com/tarrow) in [#​945](helmfile/helmfile#945) - build(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2490](helmfile/helmfile#2490) - fix: helmfile list now reflects version from helmfile.lock by [@​yxxhero](https://github.com/yxxhero) in [#​2486](helmfile/helmfile#2486) - build(deps): bump k8s.io/client-go from 0.35.2 to 0.35.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2492](helmfile/helmfile#2492) - build(deps): bump github.com/fatih/color from 1.18.0 to 1.19.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2494](helmfile/helmfile#2494) - fix: cleanup hooks not receiving error signal by [@​yxxhero](https://github.com/yxxhero) in [#​2475](helmfile/helmfile#2475) - fix: pass --timeout flag through to helm for sync and apply by [@​hristiy4n](https://github.com/hristiy4n) in [#​2495](helmfile/helmfile#2495) - fix: error on missing secret key when using vals by [@​yxxhero](https://github.com/yxxhero) in [#​2496](helmfile/helmfile#2496) - build: update helm-diff to v3.15.3 by [@​yxxhero](https://github.com/yxxhero) in [#​2498](helmfile/helmfile#2498) - feat: add an arg that passing description to `helm upgrade` command by [@​swimablefish](https://github.com/swimablefish) in [#​2497](helmfile/helmfile#2497) #### New Contributors - [@​tarrow](https://github.com/tarrow) made their first contribution in [#​945](helmfile/helmfile#945) - [@​hristiy4n](https://github.com/hristiy4n) made their first contribution in [#​2495](helmfile/helmfile#2495) - [@​swimablefish](https://github.com/swimablefish) made their first contribution in [#​2497](helmfile/helmfile#2497) **Full Changelog**: <helmfile/helmfile@v1.4.2...v1.4.3> ### [`v1.4.2`](https://github.com/helmfile/helmfile/releases/tag/v1.4.2) [Compare Source](helmfile/helmfile@v1.4.1...v1.4.2) #### What's Changed - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.96.2 to 1.96.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2456](helmfile/helmfile#2456) - build(deps): bump docker/login-action from 3 to 4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2454](helmfile/helmfile#2454) - build(deps): bump docker/setup-qemu-action from 3 to 4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2453](helmfile/helmfile#2453) - build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.10 to 1.32.11 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2455](helmfile/helmfile#2455) - Add CHANGELOG.md by [@​PhilipLudington](https://github.com/PhilipLudington) in [#​2457](helmfile/helmfile#2457) - build(deps): bump docker/setup-buildx-action from 3 to 4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2462](helmfile/helmfile#2462) - build(deps): bump markdown from 3.6 to 3.8.1 in /docs by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2463](helmfile/helmfile#2463) - build(deps): bump docker/build-push-action from 6 to 7 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2469](helmfile/helmfile#2469) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.96.3 to 1.96.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2470](helmfile/helmfile#2470) - build(deps): bump docker/metadata-action from 5 to 6 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2468](helmfile/helmfile#2468) - feat: add helm-legacy track mode for Helm v4 compatibility by [@​yxxhero](https://github.com/yxxhero) in [#​2466](helmfile/helmfile#2466) - docs: add comprehensive values merging and data flow guide by [@​yxxhero](https://github.com/yxxhero) in [#​2461](helmfile/helmfile#2461) - fix: nested helmfile values should replace arrays, not merge element-by-element by [@​aditmeno](https://github.com/aditmeno) in [#​2458](helmfile/helmfile#2458) - build(deps): bump go.yaml.in/yaml/v2 from 2.4.3 to 2.4.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2473](helmfile/helmfile#2473) - build(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2472](helmfile/helmfile#2472) - fix: use --force-replace flag for Helm 4 instead of deprecated --force by [@​yxxhero](https://github.com/yxxhero) in [#​2477](helmfile/helmfile#2477) - build(deps): bump golang.org/x/term from 0.40.0 to 0.41.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2479](helmfile/helmfile#2479) - build(deps): bump github.com/helmfile/vals from 0.43.6 to 0.43.7 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2478](helmfile/helmfile#2478) - build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.96.4 to 1.97.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2484](helmfile/helmfile#2484) - build(deps): bump Helm from v4.1.1 to v4.1.3 by [@​yxxhero](https://github.com/yxxhero) in [#​2481](helmfile/helmfile#2481) - feat: add --force-conflicts flag support for Helm 4 by [@​yxxhero](https://github.com/yxxhero) in [#​2480](helmfile/helmfile#2480) #### New Contributors - [@​PhilipLudington](https://github.com/PhilipLudington) made their first contribution in [#​2457](helmfile/helmfile#2457) **Full Changelog**: <helmfile/helmfile@v1.4.1...v1.4.2> </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE5NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL21pbm9yIl19--> Reviewed-on: https://forgejo.hayden.moe/hayden/phoebe/pulls/42
helmfile initsilently skipped plugin updates when using Helm v4:helm plugin updateeither fails outright or doesn't work correctly for tarball-installed plugins (notablysecretswith the split-plugin architecture introduced in v4.7.0).Changes
pkg/helmexec/exec.goUpdatePlugin(name)→UpdatePlugin(name, repo, version): Accepts repo URL and version to enable version-aware update logic (parameter renamedpath→repofor clarity)secrets+ Helm 4 special case: MirrorsAddPlugin— uninstalls existingsecrets/secrets-getter/secrets-post-rendererplugins, then reinstalls viainstallHelmSecretsV4()helm plugin update <name>fails, falls back tohelm plugin uninstall <name>+helm plugin install <repo> --version <version>; original update error is preserved and both errors are wrapped when reinstall also failshelmSecretsRequiresSplitInstall(version string) bool: Replaces the incorrect string-basedversion >= "v4.7.0"comparison (breaks at v4.10.0+) in bothAddPluginandUpdatePluginwith proper semver comparisonuninstallPlugin(name string): Private helper wrappinghelm plugin uninstall; only emits INFO log output on success to avoid surfacing expected uninstall failures as noisepkg/app/init.gop.repoandp.versiontoUpdatePluginpkg/app/init_test.goTestCheckHelmPlugins_UpdateFailsFallbackToReinstall: verifiesupdatefailure triggersuninstall+installfor each plugin, and asserts installed plugin versions on disk are ≥ required versions after completionTestCheckHelmPlugins_UpdateErrorButPluginAtRequiredVersion: verifies that when the fallback install step also fails but the plugin is present at the required version, init warns and continuespkg/helmexec/exec_test.goTest_helmSecretsRequiresSplitInstall: table-driven tests coveringv4.6.9,v4.7.0,v4.8.0,v4.10.0(double-digit minor regression case), a pre-release, an invalid version string, and empty stringTest_UpdatePlugin_Helm4SecretsUsesUninstallReinstall: verifies that for Helm 4 +secrets+v4.7.0, the update path callsplugin uninstallfor each split plugin andplugin installfor each tarball without callingplugin update