Commit Graph

199 Commits

Author SHA1 Message Date
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
Oleh Neichev 3537f5f5c4
feat: Add IP Network to supported HCL Functions (#2426)
* Add IP Network to supported HCL Functions

This patch adds CIDR functions from the `go-cty-funcs` package to
supported HCL functions

Signed-off-by: Oleh Neichev <oleg.neichev@gmail.com>

* Test HCL CIDR Functions

Signed-off-by: Oleh Neichev <oleg.neichev@gmail.com>

---------

Signed-off-by: Oleh Neichev <oleg.neichev@gmail.com>
2026-02-26 17:20:48 +08:00
Benjamin Zores fad470f38a
feat: allow for HCL values override (#2402)
* feat: allow for HCL values override

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* fix: ensure overriden HCL expression uses range from latest defined block vars

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: implement HCL cty values override tests

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* docs: better describe new behavior

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* fix: add extra parenthesis for better readability

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: implement variable override in decodeGraph() function, AFTER interpolation, providing back access to hv.* and local.* accessors

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: implement better HCL test to override values using local.* and hv.* accessors and pre-processing function calls

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: remove deprecated hclParseError() function (and test)

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: don't let HCL override with null value win

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: proper test condition on HCL map type merge (and tests)

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: more accurate HCL test error statement

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: ensure HCL DAG graph collects dependencies from ALL definitions to ensure proper evaluation order even if only earlier definitions have dependencies

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: verify HCL mixed-types merges are correctly supported

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* docs: improved environment values precedence section with HCL override support

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: HCL test spell-check, linter failure

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: implement HCL override e2e tests

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* fix: correct hcl_loader test error message

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* fix: ensure correct cty type is returned in case of object/map hcl merge

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* fix: ensure hcl locals from a previous definition/file do not leak into this evaluation when merging

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* fix: correct e2e hcl_override test; missing line in output string comparison

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* docs: spell-check on HCL doc

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

* chore: update comment for accuracy in HCL read routine

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>

---------

Signed-off-by: Benjamin Zores <benjamin.zores@gmail.com>
Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>
2026-02-24 18:02:20 +08:00
Aditya Menon c63947483c
fix: eliminate os.Chdir in sequential helmfiles to fix relative path resolution (#2410)
* fix: eliminate os.Chdir in sequential helmfiles to fix relative path resolution

The sequential code path used within() → os.Chdir() to change the
process-wide working directory when processing helmfile.d files.
This broke relative environment variable paths (e.g. KUBECONFIG=kubeconfig.yaml)
because they resolved from the wrong directory after chdir.

Replace the chdir-based approach with the same baseDir parameter pattern
used by the parallel code path, passing explicit directory context through
loadDesiredStateFromYamlWithBaseDir() instead of mutating global process state.

Closes #2409

Signed-off-by: Aditya Menon <amenon@canarytechnologies.com>

* fix: restore within() for single-file sequential to preserve chart path format

The previous approach used baseDir for all sequential processing, which
changed chart path format in output (e.g. from "../../../../charts/raw"
to "test/integration/charts/raw"). This broke integration tests that
compare chart paths in expected output.

Now the sequential branch uses two strategies:
- Single file: use os.Chdir via within() to preserve backward-compatible
  relative chart paths in output
- Multiple files with --sequential-helmfiles: use baseDir parameter to
  avoid os.Chdir, fixing relative env var paths like KUBECONFIG (#2409)

Signed-off-by: Aditya Menon <amenon@canarytechnologies.com>

* fix: revert e2e snapshot outputs to match within() behavior

The previous commit restored within() for single-file sequential
processing, which produces relative chart paths (e.g. ../../charts/raw)
and filename-only FilePath. Revert the e2e snapshot expected outputs
to match main branch since single-file behavior is now identical.

Signed-off-by: Aditya Menon <amenon@canarytechnologies.com>

* fix: restructure integration test for multi-file sequential processing

- Point -f at helmfile.d/ directly (not parent dir) so findDesiredStateFiles
  discovers the yaml files
- Add second helmfile to trigger baseDir path (len > 1)
- Inline environment config to avoid base file relative path issues
- Verify both releases appear in output instead of comparing with parallel
  (which may differ in ordering)

Signed-off-by: Aditya Menon <amenon@canarytechnologies.com>

* fix: reduce cognitive complexity and improve accuracy of sequential helmfiles

Replace inline visitSubHelmfiles closure with calls to the existing
processNestedHelmfiles() method, matching the parallel path. This
eliminates duplicated nested logic and reduces gocognit complexity
below the CI threshold of 110. Also fixes help text and docs to
accurately describe that single-file processing still uses within(),
and adds kubeContext verification to the integration test.

Signed-off-by: Aditya Menon <amenon@canarytechnologies.com>

* test: validate kubeContext resolution in sequential helmfiles integration test

Restructure the integration test to replicate the exact user scenario
from issue #2409:
  - Multiple files in helmfile.d/ using bases: with relative paths
    (../bases/) for environments and defaults
  - Environment values set kubeContext via .Environment.Values
  - helmDefaults.kubeContext rendered from gotmpl
  - Local chart references (../../../../charts/raw) from helmfile.d/
  - Run diff against the minikube cluster to exercise kubeContext
    resolution, which would fail with "context does not exist" if
    os.Chdir() broke relative path resolution
  - Also verify template output for both releases and relative values
    file (values/common.yaml) resolution

Fix normalizeChart() in util.go to be idempotent — skip re-prefixing
when the chart path already starts with basePath. This prevents
double-prefixing of local chart paths (e.g. helmfile.d/test/.../raw)
when normalizeChart is called multiple times (once during chart
preparation and again during diff/sync).

Signed-off-by: Aditya Menon <amenon@canarytechnologies.com>

---------

Signed-off-by: Aditya Menon <amenon@canarytechnologies.com>
2026-02-22 09:21:46 +08:00
Aditya Menon 0129681222
feat: add `helmfile unittest` command for helm-unittest integration (#2400)
Adds a new `helmfile unittest` command that integrates the helm-unittest
plugin, allowing users to define unit test paths per release and run them
via helmfile.

Closes #2376

Signed-off-by: Aditya Menon <amenon@canarytechnologies.com>
2026-02-16 09:45:10 +08:00
yxxhero 58df057dcc
fix: skip cache refresh for shared cache paths to prevent race conditions (#2396)
* fix: skip cache refresh for shared cache paths to prevent race conditions

When multiple helmfile processes run in parallel (e.g., as ArgoCD plugin),
they share the same OCI chart cache in ~/.cache/helmfile. One process could
delete and re-download (refresh) a cached chart while another process was
still using it, causing "path not found" errors.

This fix:
- Adds isSharedCachePath() helper to detect shared cache paths
- Skips chart deletion/refresh for paths in the shared cache directory
- Users can force refresh by running `helmfile cache cleanup` first

Fixes #2387

Signed-off-by: yxxhero <aiopsclub@163.com>

* docs: document OCI chart caching behavior and multi-process safety

Add documentation for:
- OCI chart cache location and behavior
- How to force cache refresh with `helmfile cache cleanup`
- Multi-process safety when using shared cache
- Cache management commands (info, cleanup)

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix: address review comments for shared cache handling

- Return error instead of chartActionDownload for corrupted shared cache
- Change refresh skip log from Debugf to Infof for user visibility
- Add t.Helper() to createTestLogger test helper

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix: handle symlinks and add debug logging in isSharedCachePath

- Use filepath.EvalSymlinks to resolve symlinks before path comparison
- Add debug logging when filepath.Abs fails
- Add test case for symlink to shared cache directory

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix: address copilot review comments

- Include underlying error in corrupted cache error message
- Add cleanup for test directories created in shared cache
- Clarify --skip-refresh flag documentation

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix: handle edge case when chartPath equals sharedCacheDir

- isSharedCachePath now returns true for exact match with cache dir
- Add test case for exact match with shared cache directory

Signed-off-by: yxxhero <aiopsclub@163.com>

* test: add integration test for acquireChartLock shared cache behavior

Add TestAcquireChartLockSharedCacheSkipRefresh to verify that
acquireChartLock returns chartActionUseCached instead of
chartActionRefresh when the chart exists in the shared cache,
even when refresh is requested. This tests the core fix for
the race condition issue #2387.

Signed-off-by: yxxhero <aiopsclub@163.com>

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2026-02-14 10:46:05 +08:00
Copilot 5b7cbe54e9
Add --sequential-helmfiles flag for optional sequential processing (#2350)
* Initial plan

* Fix helmfile.d parallel processing to respect alphabetical order

Changed multiple helmfile.d file processing from parallel to sequential
to match the documented behavior. Files are now processed in alphabetical
order as stated in the documentation, ensuring predictable deployment order.

This fixes issues where deployments would break because parallel processing
did not respect the intended ordering (e.g., databases before applications).

- Modified visitStatesWithContext to process files sequentially
- Removed unused processStateFileParallel function
- Updated test snapshots to reflect deterministic ordering

Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>

* Add --sequential-helmfiles flag for opt-in sequential processing

Based on feedback, added a flag to control processing mode instead of
forcing sequential behavior. Parallel processing is now the default for
performance, with an opt-in --sequential-helmfiles flag for when order matters.

Changes:
- Added SequentialHelmfiles field to GlobalOptions and App
- Added --sequential-helmfiles CLI flag
- Modified visitStatesWithContext to check flag and choose parallel vs sequential
- Updated documentation to clarify parallel is default, sequential is opt-in
- Restored original parallel processing as default behavior

This gives users control over the behavior based on their needs.

Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>

* Add documentation and improve code readability

- Added documentation to processStateFileParallel function
- Extracted shouldProcessInParallel variable for clarity
- All tests pass, security scan clean

Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>

* Fix lint issue: remove trailing whitespace

Removed trailing whitespace from line 983 in pkg/app/app.go to fix
formatting lint error.

Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>
2026-01-08 14:28:25 -05:00
Ronaldo Umana f3b19fd81e
Add parameter to render helmfile as go template without .gotmpl extension (#2312)
* Add parameter to render helmfile as go template without gotmpl extension

Signed-off-by: Ronaldo <ronaldo.ur@gmail.com>

* Update pkg/envvar/const.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Signed-off-by: Ronaldo <ronaldo.ur@gmail.com>
Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-09 14:41:47 +09:00
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
Simon Bouchard a6fab4dc75
feat: update strategy for reinstall (#2019)
* feat: Add updateStrategy option in the state file with 'reinstall'/'reinstallIfForbidden' choices to uninstall and apply the specific release(s) (if forbidden to update)

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

* Fix unit tests related to the new updateStrategy feature

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

* Fix unit tests related to the new updateStrategy feature

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

* Resolve linter issue due to cognitive complexity

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

* Updated index.md to describe the possible values of updateStrategy

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

* Add validation of updateStrategy parameter and unit test

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

* Updated unit test

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

* Removed 'reinstall' update strategy option to only have reinstallIfForbidden, cleanup of pre-sync changes, adapted unit tests

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

* Display affected releases that were reinstalled

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

* Make sure to add --wait when deleting a release to be reinstalled due to reinstallIfForbidden

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

* Apply suggestions from Copilot code review

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>

---------

Signed-off-by: Simon Bouchard <sbouchard@rbbn.com>
2025-10-29 08:47:46 +08:00
Copilot 3728b6f647
Remove deprecated --wait-retries flag support to fix Helm compatibility error (#2179)
* Remove --wait-retries flag support and update documentation

Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>

* Fix unused helm parameter in appendWaitFlags function

Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>
2025-09-11 13:57:28 +08:00
Copilot 135ff63aa3
Add missing --timeout flag to helmfile sync command with documentation (#2148)
* Initial plan

* Implement --timeout flag for helmfile sync command

- Add Timeout field to SyncOptions struct in pkg/config/sync.go
- Add --timeout flag to sync command in cmd/sync.go
- Add Timeout field to SyncOpts struct in pkg/state/state.go
- Modify timeoutFlags() function to prioritize CLI timeout over release and default configs
- Add test case to verify CLI timeout overrides other timeout settings
- Follow same pattern as existing --wait and --wait-for-jobs flags

Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>

* Fix lint issues: format test struct fields properly

Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>

* Update docs: Add --timeout flag documentation for helmfile sync command

Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>
2025-08-27 14:32:02 +08:00
yxxhero 959aae5791
refactor(yaml): switch yaml library import paths from gopkg.in to go.yaml.in (#2114)
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-08-01 11:28:39 +08:00
Jess 9a88372449
Allow caching of remote files to be disabled (#2112)
* Allow caching of remote files to be disabled

Make it possible to automatically update the cache of remote
resources by disabling the caching of those resources using a query
string parameter (`cache=false`).

Signed-off-by: Jess <jess@ros.io>

* Fix test that broke

Because query parameters are being re-encoded, = is being encoded to %3D.

Signed-off-by: Jess <jess@ros.io>

* Add test for disabling caching of remote resources

Signed-off-by: Jess <jess@ros.io>

* Include example usage in docs

Signed-off-by: Jess <jess@ros.io>

---------

Signed-off-by: Jess <jess@ros.io>
2025-07-31 13:38:36 +08:00
yxxhero b0911ab1a2
feat(state): add missingFileHandlerConfig and related logic (#2105)
* feat(state): add missingFileHandlerConfig and related logic

Signed-off-by: yxxhero <aiopsclub@163.com>

* feat(state): add missingFileHandlerConfig and related logic

Signed-off-by: yxxhero <aiopsclub@163.com>

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2025-07-21 19:15:51 -04:00
yxxhero c0a046b623
docs: update status section with May 2025 release information (#2096)
* docs: update status section with May 2025 release information

Signed-off-by: yxxhero <aiopsclub@163.com>

* docs: Update Helmfile v1 proposal link in index.md

Signed-off-by: yxxhero <aiopsclub@163.com>

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2025-07-10 18:20:04 +08:00
Simske d84243992e
Expose release version as .Release.ChartVersion for templating (#2080) 2025-06-17 19:41:42 +08:00
yxxhero b52ca9ae04
refactor(yaml): upgrade from gopkg.in/yaml.v2 to v3 (#2039)
* refactor(yaml): upgrade from gopkg.in/yaml.v2 to v3

Signed-off-by: yxxhero <aiopsclub@163.com>

* refactor(yaml): enhance yaml encoding with consistent formatting and quotes

Signed-off-by: yxxhero <aiopsclub@163.com>

* optimize code

Signed-off-by: yxxhero <aiopsclub@163.com>

* fix tests

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>

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2025-05-15 10:21:37 -04:00
yxxhero 844726b09b
feat(tmpl): enhance ToYaml test with multiple scenarios (#2031)
* feat(tmpl): enhance ToYaml test with multiple scenarios

Signed-off-by: yxxhero <aiopsclub@163.com>
2025-05-09 11:56:54 +08:00
Adam Blasko 9bf51cb011
Feat: setting reuseValues flag in release (#2004)
* Feat: reuseValues in release

Adding properties to set reuseValues flag on release-level.

Signed-off-by: Adam Blasko <adam.blasko1@gmail.com>

* feat: fixing tests

Most of the tests had issues with flag order, which changed due to moving the value control flags out of the "common flags" for diff

Signed-off-by: Adam Blasko <adam.blasko1@gmail.com>

* fix: fixing lint issue

Signed-off-by: Adam Blasko <adam.blasko1@gmail.com>

---------

Signed-off-by: Adam Blasko <adam.blasko1@gmail.com>
2025-04-23 07:53:29 +08: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
yxxhero 7f44408541
docs(fix): correct typo in 'tier=fronted' to 'tier=frontend' (#1980)
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-03-30 19:08:15 -04: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
dependabot[bot] d708c57531
build(deps): bump jinja2 from 3.1.5 to 3.1.6 in /docs (#1956) 2025-03-05 23:20:16 +00:00
yxxhero 49c9d5d89c
feat(docs): add proposal to remove charts and delete subcommands (#1936)
Signed-off-by: yxxhero <aiopsclub@163.com>
2025-02-24 08:11:15 -05: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
Zubair Haque 6cb42d1416
chore: update babel to resolve CVEs (#1916)
update babel to resolve CVEs

Signed-off-by: zhaque44 <haque.zubair@gmail.com>
2025-02-06 07:33:27 +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
Adam ABICHOU 9dc0aaa1e7
fix typo in docs (#1889)
fix typo

Signed-off-by: Adem Abichou <adem.abichou@bertschinnovation.com>
2025-01-23 08:31:00 +08:00
dependabot[bot] d4b4fc41c5
build(deps): bump jinja2 from 3.1.4 to 3.1.5 in /docs (#1846)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.4...3.1.5)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-24 08:19:45 +08:00
yxxhero bd12fa1cc3
feat(state): add support for setString in ReleaseSpec and HelmState (#1821)
* feat(state): add support for setString in ReleaseSpec and HelmState

Signed-off-by: yxxhero <aiopsclub@163.com>

* docs: add setString section to index.md for helm configuration

Signed-off-by: yxxhero <aiopsclub@163.com>

* tests: fix more tests

Signed-off-by: yxxhero <aiopsclub@163.com>

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-12-09 10:37:56 -05:00
Aya (Igarashi) Ozawa b1f827394c
chore(doc): fix the indent of the selector usage sample yaml (#1819)
Signed-off-by: Aya Igarashi <ladiclexxx@gmail.com>
2024-12-09 17:16:32 +08:00
Dave Neeley 7317d56121
update example chart URL in remote-secrets doc (#1809)
update example chart URL

Signed-off-by: David Neeley <david.neeley@motorolasolutions.com>
Co-authored-by: David Neeley <david.neeley@motorolasolutions.com>
2024-11-28 13:19:08 +08:00
Krzysztof Łuczak 4287471acc
feat: add HELMFILE_INTERACTIVE env var to enable interactive mode (#1787)
* feat: add HELMFILE_INTERACTIVE env var to enable interactive mode

This commit adds the `HELMFILE_INTERACTIVE` environment variable
to enable the interactive mode by default.
Anything other than `true` will disable the interactive mode.
The precedence has the `--interactive` flag.

Signed-off-by: Krzysztof Łuczak <krzysztof.luczak.pro@gmail.com>

* Trim trailing whitespaces

Signed-off-by: Krzysztof Łuczak <krzysztof.luczak.pro@gmail.com>

---------

Signed-off-by: Krzysztof Łuczak <krzysztof.luczak.pro@gmail.com>
2024-11-18 16:35:48 +08:00
haruna eb6425c20d
Revive dead badge links (#1776) 2024-11-10 07:03:02 +08:00
Zubair Haque 3483644581
fix docs build errors (#1715)
Signed-off-by: zhaque44 <haque.zubair@gmail.com>
2024-09-19 19:37:16 -05:00
Vedran Kolka 4821b1d498
Fixed typo in configuration section (#1698)
* chore: Update Ubuntu image to LTS version 24.04 (#1696)

Signed-off-by: Patrick Hobusch <patrick@hobusch.net>
Signed-off-by: Vedran Kolka <vedran.kolka@syntio.net>

* Fixed typo in configuration section

The comment for setting the password for a Helm repository said it was the "username". Changed it to "password"
Signed-off-by: Vedran Kolka <vedran.kolka@syntio.net>

---------

Signed-off-by: Patrick Hobusch <patrick@hobusch.net>
Signed-off-by: Vedran Kolka <vedran.kolka@syntio.net>
Co-authored-by: Patrick Hobusch <pathob@users.noreply.github.com>
Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>
2024-09-10 07:16:46 +08:00
ennekein 2cc995e508
feat: adding ability for for charts to be pulled with plain HTTP (#1672)
* eat: adding ability for for charts to be pulled without HTTPS

accomplished by:

- Adding PlainHttp attribute to RepositorySpec., HelmDefault, ReleaseSpec
- Adding UnitTests for getOCIChart Flags.
- Adding funciton and unitTests for getChartDownload
- Changing and refactoring how Flags are added to getOCIChart.

Resolves #1224

Signed-off-by: Peter Halliday <peter.halliday@servicenow.com>

* Pass PlainHttp to OCI repo options, fix unit test

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Fix doc

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Use repository fields in non-OCI chart download options

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Update hashes in TestGenerateID

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Make sure repo exists when using its options

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Do not add TLS options if PlainHttp is set, adapt unit tests

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Fix doc

Signed-off-by: Pascal Rivard <privard@rbbn.com>

* Remove 'else if' from appendChartDownloadFlags

Signed-off-by: Pascal Rivard <privard@rbbn.com>

---------

Signed-off-by: Peter Halliday <peter.halliday@servicenow.com>
Signed-off-by: Pascal Rivard <privard@rbbn.com>
Co-authored-by: Peter Halliday <peter.halliday@servicenow.com>
Co-authored-by: Pascal Rivard <privard@rbbn.com>
2024-08-27 08:00:20 +08:00
Simon Schröter 505da8a31c
feat: add isDir template function (#1657) 2024-08-06 21:39:00 +08:00
yxxhero 75ad24e6dc
feat: use helm status to find helm release (#1640)
* feat: use helm status to find helm release

Signed-off-by: yxxhero <aiopsclub@163.com>
2024-07-30 13:40:44 +08:00
Zubair Haque fb7046292b
chore: documentation updates: grammar & rm whitespace (#1639) 2024-07-21 13:31:41 +08:00
dependabot[bot] 744c3f5f32
build(deps): bump zipp from 3.7.0 to 3.19.1 in /docs (#1620)
Bumps [zipp](https://github.com/jaraco/zipp) from 3.7.0 to 3.19.1.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.7.0...v3.19.1)

---
updated-dependencies:
- dependency-name: zipp
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-11 22:04:40 +08:00
Koen Punt 8f8125f893
Fix typo and link for supported backends (#1529)
fix typo and link for supported backends

Signed-off-by: Koen Punt <koen@koenpunt.nl>
2024-05-21 07:18:39 +08:00
Yusuke Kuoka c689a4ce05
Update the project status with invitation to v1 rc testers (#1513)
Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
2024-05-09 13:45:28 +08:00
Yusuke Kuoka ae7e3046b7
v1: Document experimental features (#1512)
See the updated v1 proposal for why we need it now.

Signed-off-by: Yusuke Kuoka <ykuoka@gmail.com>
2024-05-09 10:18:29 +08:00
dependabot[bot] fef68b1155
build(deps): bump jinja2 from 3.1.3 to 3.1.4 in /docs (#1505)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-07 07:02:45 +08:00
Vladan Pavlovic dc20eb10c5
Update DAG with dependencies (#1477)
* Add show-dag command

Signed-off-by: vlpav030 <vpav.030@gmail.com>
2024-04-27 07:37:28 +08:00
xtphate a15a1b0731
Feature/support env hcl and interpolations (#1423)
* support HCL language for env variables

Signed-off-by: xtphate <65117176+XT-Phate@users.noreply.github.com>
2024-04-22 08:02:14 +08:00