yxxhero
c6e7249eb9
feat: add helm-legacy track mode for Helm v4 compatibility ( #2466 )
...
Add support for trackMode: helm-legacy to use Helm v4's --wait=legacy flag,
which maintains compatibility with Helm v3's wait behavior during migration.
Helm v4 changed the default --wait behavior from polling to a watcher-based
approach. This can cause issues with charts that have broken livenessProbe
configurations without startupProbe. The --wait=legacy flag preserves the
Helm v3 polling behavior for smoother migration.
Changes:
- Add TrackModeHelmLegacy constant in pkg/kubedog/options.go
- Use kubedog.TrackMode constants instead of raw strings in helmx.go
- Enhance appendWaitFlags to use --wait=legacy for Helm v4 when trackMode
is helm-legacy
- Add nil check for logger before logging warning
- Add version check with warning when helm-legacy is used with Helm v3
- Update validation in pkg/config to accept helm-legacy track mode
- Update command-line flags in cmd/apply.go and cmd/sync.go
- Add comprehensive documentation in docs/advanced-features.md
- Add thorough test coverage including warning message verification
Behavior:
- Helm v4 + helm-legacy: Uses --wait=legacy
- Helm v3 + helm-legacy: Falls back to --wait with warning
- Helm v4 + helm: Uses --wait (watcher mode)
- Any + kubedog: Skips --wait flag
Fixes #2464
Signed-off-by: yxxhero <aiopsclub@163.com>
Co-authored-by: Copilot <copilot@github.com>
2026-03-08 11:51:14 +08:00
yxxhero
6e21671228
feat: kubedog integration with unified resource handling ( #2383 )
...
* feat: add kubedog-based resource tracking integration
Add kubedog tracking as an alternative to Helm's --wait flag with:
- Real-time deployment progress tracking
- Container log streaming
- Fine-grained resource filtering (trackKinds/skipKinds/trackResources)
Features:
- New pkg/resource package for unified manifest parsing and filtering
- New pkg/kubedog package wrapping kubedog library
- CLI flags: --track-mode, --track-timeout, --track-logs
- Helmfile YAML support for trackMode, trackTimeout, trackLogs, trackKinds, skipKinds, trackResources
- Case-insensitive kind matching for filtering
- Multi-context support with proper kubeconfig/kubeContext handling
Tracking supports: Deployment, StatefulSet, DaemonSet, Job
Resource filtering priority (highest to lowest):
1. trackResources - explicit resource whitelist
2. skipKinds - blacklist specific kinds
3. trackKinds - whitelist specific kinds
Integration:
- Disable Helm --wait when using kubedog tracking
- Track after successful Helm sync/apply
- Respect release.Namespace as fallback for resources without namespace
- Use getKubeContext() for correct cluster targeting
Tests:
- Unit tests for resource filtering and kubedog options
- Integration test with httpbin chart
- E2E snapshot tests for YAML serialization
- Documentation in docs/advanced-features.md
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix: address PR #2383 review comments (round 4)
1. resource/filter.go: Skip empty whitelist entries in matchWhitelist
- At least one field (kind/name/namespace) must be specified
- Prevents matching all resources with empty TrackResources entries
2. config/apply.go: Add ValidateConfig for track-mode validation
- Validate --track-mode must be 'helm' or 'kubedog'
- Reject invalid values like --track-mode foo
3. config/sync.go: Add ValidateConfig for track-mode validation
- Same validation as apply command
- Ensures consistent behavior across commands
Signed-off-by: yxxhero <aiopsclub@163.com>
---------
Signed-off-by: yxxhero <aiopsclub@163.com>
2026-03-02 17:15:12 +08:00
Zubair Haque
ab5e9a1326
Issue-1883 fix ( #2058 )
...
* Issue-1883 fix
Signed-off-by: zhaque44 <haque.zubair@gmail.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-11-19 07:45:56 +08:00
yxxhero
c3864a45d3
feat: add --take-ownership flag to helm diff and related config ( #1992 )
...
* feat: add --take-ownership flag to helm diff and related config
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix: nil issue
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix more issue
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix more issues
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* add more tests
Signed-off-by: yxxhero <aiopsclub@163.com>
---------
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-04-27 12:57:41 -04:00
yxxhero
e4273d050e
feat: add labels for helm release ( #1046 )
...
feat: add labels for k8s resources
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-03-30 19:24:41 -04:00
dependabot[bot]
d26d909a5e
build(deps): bump golangci/golangci-lint-action from 6 to 7 ( #1975 )
...
* build(deps): bump golangci/golangci-lint-action from 6 to 7
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 6 to 7.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* refactor(.github/workflows/ci.yaml): update golangci-lint version to v2.0.2
Signed-off-by: yxxhero <aiopsclub@163.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: yxxhero <aiopsclub@163.com>
2025-03-28 07:52:06 +08:00
yxxhero
5d29f03782
Remove all v0.x references ( #1919 )
...
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* refactor(two_pass_renderer): remove unused imports and functions
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
---------
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-03-08 07:43:21 -06:00
yxxhero
8b15c30cf2
docs: add skipSchemaValidation to index.md and update related structs ( #1935 )
...
* docs: add skipSchemaValidation to index.md and update related structs
Signed-off-by: yxxhero <aiopsclub@163.com>
* feat: add SkipSchemaValidation to config and state handling
Signed-off-by: yxxhero <aiopsclub@163.com>
---------
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-02-14 11:57:50 -05:00
Connor Hindley
2c38611acd
feat: Add support for --wait-retries flag. ( #1922 )
...
* feat: Add support for --wait-retries flag.
This change wires up waitRetries option to set the helm --wait-retries flag.
--wait-retries was added in helm 3.15.0 and makes waiting more robust to registry errors.
https://github.com/helm/helm/commit/fc74964
https://github.com/helm/helm/releases/tag/v3.15.0
Resolves #1522
Signed-off-by: Connor Hindley <connor.hindley@tanium.com>
2025-02-12 07:28:37 +08:00
yxxhero
63e2684ade
Revert "cleanup: remove all about v0.x" ( #1918 )
...
Revert "cleanup: remove all about v0.x (#1903 )"
This reverts commit d7bcd5e998 .
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-02-08 18:25:16 +08:00
yxxhero
d7bcd5e998
cleanup: remove all about v0.x ( #1903 )
...
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* refactor(two_pass_renderer): remove unused imports and functions
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix tests
Signed-off-by: yxxhero <aiopsclub@163.com>
---------
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-02-05 13:50:16 -05:00
yxxhero
22ad21c1ae
feat: add --take-ownership flag to apply and sync commands ( #1863 )
...
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-01-11 08:41:10 -06:00
Zubair Haque
d1416ec7b4
feat: add skip json schema validation during the install /upgrade of a Chart ( #1737 )
...
* open PR for --skip-schema-validation flag
Signed-off-by: zhaque44 <haque.zubair@gmail.com>
2024-10-24 20:53:18 +08:00
yxxhero
5c6572b492
Add hide notes support ( #1710 )
...
* add --hide-notes support
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-09-17 20:24:19 +08:00
Tim Ramlot
7ccacb7ee5
Add the SyncArgs option and --sync-args flag ( #1375 )
...
* add the SyncArgs option
Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>
* add syncArgs to helmDefaults and update index.md
Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>
* add --sync-args flags to helmfile sync
Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>
* add tests for appendExtraDiffFlags and appendExtraSyncFlags
Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>
---------
Signed-off-by: Tim Ramlot <42113979+inteon@users.noreply.github.com>
2024-02-29 20:49:48 +08:00
yxxhero
9203641f03
feat: add suppress output line regex support ( #1329 )
...
* feat: add suppress output line regex support
Signed-off-by: yxxhero <aiopsclub@163.com>
2024-02-18 12:10:14 +08:00
Maarten Boekhold
d0b8d7ee5e
Add "PostRendererArgs" option to be passed to helm ( #1133 )
...
* Add "PostRendererArgs" option to be passed to helm
This allows using PowerShell scripts on Windows as Post Renderer.
Signed-off-by: Maarten Boekhold <maarten.boekhold@finastra.com>
2023-11-21 21:32:14 +08:00
Jan-Otto Kröpke
9bc7bfc500
Implement --diff-args ( #959 )
...
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2023-08-09 19:47:15 +08:00
yxxhero
00dace9b63
Feat add cascade support ( #860 )
...
* feat: add cascade support for helm v3.12.0
Signed-off-by: yxxhero <aiopsclub@163.com>
2023-05-15 13:49:33 +08:00
William Lahti
b6dd7122f9
feat: add --skip-trailing-cr to helmfile diff ( #625 )
2023-05-08 05:23:59 +08:00
Hans Song
1d0ba72b47
feat: add/expose cli flags ( #771 )
...
* feat: add/expose cli flags
Signed-off-by: Hans Song <hans.m.song@gmail.com>
* fix tests
Signed-off-by: Hans Song <hans.m.song@gmail.com>
* remove skipdeps from subcommand options
Signed-off-by: Hans Song <hans.m.song@gmail.com>
* remove skip-deps from subcommand flags
Signed-off-by: Hans Song <hans.m.song@gmail.com>
* remove SkipDeps from subcommand implementations
Signed-off-by: Hans Song <hans.m.song@gmail.com>
* update doco with new flags
Signed-off-by: Hans Song <hans.m.song@gmail.com>
---------
Signed-off-by: Hans Song <hans.m.song@gmail.com>
2023-04-02 14:53:52 +08:00
koralsky
fc634c9ee3
feat: Reset values flag ( #602 )
...
Ref https://github.com/helmfile/helmfile/discussions/593
* implemented --reset-values flag overriding .helmDefaults.reuseValues=true
* tests for --reset-values flag
* fixed pkg/app tests
* added tests for both reset & reuse flags given
* added appendValuesControlMode method for --reuse/reset-values flag processing
* updated code comments & docs
Signed-off-by: Karol Ossowski <k@koralsky.pl>
2023-01-17 09:34:37 +09:00
yxxhero
8d96bbb0e4
feat: mark deprecated args and cmd for v1 ( #628 )
...
* feat: mark deprecated args and cmd for v1
Signed-off-by: yxxhero <aiopsclub@163.com>
2023-01-14 23:43:05 +08:00
yxxhero
7410316cf9
update postrenderer docs ( #580 )
...
Signed-off-by: yxxhero <aiopsclub@163.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-15 11:50:18 +08:00
guofutan
0a953731b0
fix( #507 ): support assign --post-renderer within helmfile flags and helmdefault or release config
...
1. only implement post-renderer flags this patch
2. As mumoshu advise, add helmfile flags `--post-render` and add the
postRenderer config in helmDefaults and release. the priority is
helmfile flags > release > helmDefaults.
3. fix the test case in state_test.go and some other tests.
Signed-off-by: guofutan <guofutan@tencent.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-12-13 13:12:07 +08:00
yxxhero
f8a297bbac
fix --debug flag
...
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-10-25 08:24:23 +08:00
yxxhero
21c28ca6d0
feat: add reuse-values args for diff apply and sync ( #411 )
...
Signed-off-by: yxxhero <aiopsclub@163.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-10-08 14:27:39 +09:00
yxxhero
18eee1fa47
move interactive option to global ( #370 )
...
Fixes #366
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-09-18 18:47:40 +09:00
Arpan
e1ca846772
added option for --no-hooks for helm diff and apply ( #279 )
...
* added option for --no-hooks for helm diff and apply
Signed-off-by: Arpan Adhikari <kcarpan5@gmail.com>
* test case for --no-hooks
Signed-off-by: Arpan Adhikari <kcarpan5@gmail.com>
* fix test fails
Signed-off-by: Arpan Adhikari <kcarpan5@gmail.com>
* Resolve conflict with main
Signed-off-by: Arpan Adhikari <kcarpan5@gmail.com>
* fixup! Resolve conflict with main
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
* Add no-hooks case for diff test
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
* fixup! Add no-hooks case for diff test
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
Signed-off-by: Arpan Adhikari <kcarpan5@gmail.com>
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
Co-authored-by: Arpan Adhikari <arpan@thephotostudio.com.au>
Co-authored-by: Yusuke Kuoka <ykuoka@gmail.com>
2022-09-18 18:41:27 +09:00
yxxhero
bf323b4021
fixed: fix skip-needs issue
...
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-09-12 18:04:20 +08:00
yxxhero
9284d1764e
Add --interactive option to sync, delete and destroy / Remove --interactive from global options ( #328 )
...
* add interactive in sync & remove --interactive in global options
Signed-off-by: yxxhero <aiopsclub@163.com>
* fix unittest
Signed-off-by: yxxhero <aiopsclub@163.com>
* same behave as apply when in interactive
Signed-off-by: yxxhero <aiopsclub@163.com>
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-08-28 10:36:07 +09:00
yxxhero
85ade797ab
Use cobra ( #234 )
...
switch to cobra
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-07-19 21:06:18 +09:00