helmfile/pkg/helmexec
yxxhero 8e38fb02dd fix: enable kubedog tracking with atomic/rollback-on-failure helm flags
When using atomic: true with trackMode: kubedog, the --atomic flag was
passed to Helm which caused Helm to wait for resources and rollback
internally before helmfile could start kubedog tracking. This prevented
users from seeing deployment logs and errors.

Changes:
- Add RollbackRelease method to helmexec interface and implementation
- Add appendAtomicFlags function that skips --atomic when kubedog is enabled
- Add handleKubedogFailure function to manually rollback on tracking failure
- Update flagsForUpgrade to use new atomic flag handling
- Add tests for appendAtomicFlags behavior

Now when atomic: true and trackMode: kubedog are both enabled:
1. Helm upgrade runs without --atomic (no internal wait)
2. kubedog tracks resources immediately (users can see logs)
3. If kubedog tracking fails, helmfile manually executes rollback
4. Atomic semantics are preserved

Fixes: #2448
Signed-off-by: yxxhero <aiopsclub@163.com>
2026-03-03 20:45:16 +08:00
..
testdata fix: support large output with --enable-live-ouput (#1139) 2023-11-12 06:45:08 +08:00
context.go Drop Helm v2 support (#613) 2023-01-17 09:24:47 +09:00
exec.go fix: enable kubedog tracking with atomic/rollback-on-failure helm flags 2026-03-03 20:45:16 +08:00
exec_flag_filtering_test.go feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
exec_test.go fix: support XDG-style multiple paths in HELM_PLUGINS (#2412) 2026-02-20 15:27:34 +08:00
exit_error.go Feat: add --strip-args-values-on-exit-error (#887) 2023-06-07 14:39:38 +08:00
exit_error_test.go Feat: add --strip-args-values-on-exit-error (#887) 2023-06-07 14:39:38 +08:00
helmexec.go fix: enable kubedog tracking with atomic/rollback-on-failure helm flags 2026-03-03 20:45:16 +08:00
id.go Print command output in line (#1354) 2020-08-29 14:47:22 +09:00
id_test.go Add unittest for newExecutionID 2022-04-24 13:55:28 +08:00
log.go Fix snapshot tests to pass regardless of helm version (#572) 2022-12-10 10:54:03 +08:00
runner.go Fix panic when helm isn't installed (#2169) 2025-09-09 07:15:46 +08:00
runner_test.go fix: support large output with --enable-live-ouput (#1139) 2023-11-12 06:45:08 +08:00