fix: error on missing secret key when using vals#2496
Conversation
There was a problem hiding this comment.
Pull request overview
Adds an opt-in strict mode for vals secret-map lookups so Helmfile can fail fast when a ref+...#/missing-key reference points to a non-existent key, addressing silent empty-string rendering reported in #1563.
Changes:
- Introduces
HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAPenv var to control strict missing-key behavior. - Wires the env var into
vals.Options.FailOnMissingKeyInMapduringValsInstance()initialization. - Adds unit tests covering env var parsing expectations.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| pkg/envvar/const.go | Adds env var constant (and doc) for controlling strict missing-key handling in vals. |
| pkg/plugins/vals.go | Reads the env var and passes FailOnMissingKeyInMap into vals runtime options. |
| pkg/plugins/vals_test.go | Adds a new table-driven test for parsing the strict-mode env var. |
| func TestFailOnMissingKeyInMap(t *testing.T) { | ||
| tests := []struct { | ||
| name string | ||
| envValue string | ||
| expected bool | ||
| }{ |
There was a problem hiding this comment.
This test only re-implements the env var parsing (TrimSpace(... ) == "true") and doesn’t verify that ValsInstance() actually wires the value into vals.Options.FailOnMissingKeyInMap or changes missing-key behavior. Consider resetting the package-level once/instance in the test (same package) and asserting the resulting runtime behavior, or factoring the env parsing into a helper that ValsInstance() calls and testing that helper to avoid drift.
- Extract buildValsOptions() to make vals configuration testable - Use t.Setenv instead of manual env save/restore in tests - Test actual vals.Options output including FailOnMissingKeyInMap Addresses PR review comments on #2496 Signed-off-by: yxxhero <[email protected]>
| if tt.envValue != "" { | ||
| logLevel = strings.TrimSpace(tt.envValue) | ||
| t.Setenv(envvar.AWSSDKLogLevel, tt.envValue) | ||
| } | ||
|
|
There was a problem hiding this comment.
TestAWSSDKLogLevelConfiguration doesn't clear HELMFILE_AWS_SDK_LOG_LEVEL for the empty envValue case (it just doesn't call t.Setenv). This makes the test depend on the caller's environment and can fail when that env var is set. Consider always setting it (including to "").
| // Configure fail on missing key behavior | ||
| // Default to false for backward compatibility | ||
| // Set HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP=true to enable strict mode | ||
| // See issue #1563 | ||
| failOnMissingKey := strings.TrimSpace(os.Getenv(envvar.ValsFailOnMissingKeyInMap)) == "true" | ||
|
|
||
| // Default to "off" for security if not specified | ||
| if logLevel == "" { | ||
| logLevel = "off" | ||
| } |
There was a problem hiding this comment.
FailOnMissingKeyInMap is enabled only when the env var equals the exact string "true" after trimming. Unless this strict/case-sensitive behavior is intentional, consider using strconv.ParseBool (or normalizing to lower-case) so common values like "TRUE"/"1" work and so the docs don't need to specify casing quirks.
| if tt.awsLogLevel != "" { | ||
| t.Setenv(envvar.AWSSDKLogLevel, tt.awsLogLevel) | ||
| } | ||
| if tt.failOnMissingKey != "" { | ||
| t.Setenv(envvar.ValsFailOnMissingKeyInMap, tt.failOnMissingKey) | ||
| } |
There was a problem hiding this comment.
TestBuildValsOptions only calls t.Setenv when the test value is non-empty, so if HELMFILE_AWS_SDK_LOG_LEVEL or HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP is already set in the external environment, the "defaults"/empty cases can become flaky. Set these env vars for every test case (including empty-string) so the test is hermetic.
| if tt.awsLogLevel != "" { | |
| t.Setenv(envvar.AWSSDKLogLevel, tt.awsLogLevel) | |
| } | |
| if tt.failOnMissingKey != "" { | |
| t.Setenv(envvar.ValsFailOnMissingKeyInMap, tt.failOnMissingKey) | |
| } | |
| // Always set env vars explicitly, even to empty string, so tests are hermetic. | |
| t.Setenv(envvar.AWSSDKLogLevel, tt.awsLogLevel) | |
| t.Setenv(envvar.ValsFailOnMissingKeyInMap, tt.failOnMissingKey) |
Add HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP environment variable to control whether vals should fail when a referenced key does not exist in the secret map. Previously, when a secret reference like ref+vault://path#/nonexistent-key pointed to a non-existent key, vals would silently return an empty string without error. This could lead to deployments with missing configuration. Default behavior remains backward compatible (returns empty string). Set HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP=true to enable strict mode. Fixes #1563 Signed-off-by: yxxhero <[email protected]>
- Extract buildValsOptions() to make vals configuration testable - Use t.Setenv instead of manual env save/restore in tests - Test actual vals.Options output including FailOnMissingKeyInMap Addresses PR review comments on #2496 Signed-off-by: yxxhero <[email protected]>
- Use strconv.ParseBool for FailOnMissingKeyInMap parsing to support common boolean values like 'TRUE', '1', '0', etc. - Always set env vars explicitly in tests (even to empty string) to prevent flaky tests when env vars are set externally - Add test cases for various boolean formats Signed-off-by: yxxhero <[email protected]>
Add documentation for: - HELMFILE_AWS_SDK_LOG_LEVEL: configure AWS SDK logging for vals - HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP: enable strict mode for secret refs Signed-off-by: yxxhero <[email protected]>
9904af0 to
ea7808f
Compare
| // Set HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP=true to enable strict mode | ||
| // Supports common boolean values: "true", "TRUE", "1", etc. | ||
| // See issue #1563 | ||
| failOnMissingKey, _ := strconv.ParseBool(strings.TrimSpace(os.Getenv(envvar.ValsFailOnMissingKeyInMap))) |
There was a problem hiding this comment.
strconv.ParseBool errors are currently ignored, which means invalid values (e.g., "ture") silently disable strict mode by defaulting to false. This is risky because users may believe strict mode is enabled when it isn't. Consider capturing the error and returning it from ValsInstance() (e.g., change buildValsOptions() to return (vals.Options, error)), or explicitly rejecting invalid non-empty values with a clear error message.
| // - Custom: Comma-separated values like "request,response" | ||
| // | ||
| // Note: AWS_SDK_GO_LOG_LEVEL environment variable always takes precedence over this setting | ||
| logLevel := strings.TrimSpace(os.Getenv(envvar.AWSSDKLogLevel)) |
There was a problem hiding this comment.
The off check is case-sensitive. If a user sets HELMFILE_AWS_SDK_LOG_LEVEL=OFF (or mixed case), opts.LogOutput will not be discarded, potentially re-enabling vals internal logging unexpectedly. Normalize known levels to a canonical form (e.g., map EqualFold(..., "off") to "off" before both setting AWSLogLevel and deciding on LogOutput).
| if logLevel == "off" { | ||
| opts.LogOutput = io.Discard | ||
| } |
There was a problem hiding this comment.
The off check is case-sensitive. If a user sets HELMFILE_AWS_SDK_LOG_LEVEL=OFF (or mixed case), opts.LogOutput will not be discarded, potentially re-enabling vals internal logging unexpectedly. Normalize known levels to a canonical form (e.g., map EqualFold(..., "off") to "off" before both setting AWSLogLevel and deciding on LogOutput).
| func TestBuildValsOptions(t *testing.T) { | ||
| tests := []struct { | ||
| name string | ||
| awsLogLevel string | ||
| failOnMissingKey string | ||
| expectedLogLevel string | ||
| expectedFailOnMissingKey bool | ||
| expectedLogOutputDiscarded bool | ||
| }{ |
There was a problem hiding this comment.
There is no test case covering invalid values for HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP (e.g., "notabool"). Given the current implementation silently treats invalid inputs as false, add a test that asserts the chosen behavior. If you adopt error-on-invalid (recommended), add a test that expects ValsInstance() (or buildValsOptions()) to return an error for invalid non-empty values.
- buildValsOptions now returns error for invalid boolean values instead of silently defaulting to false - Use strings.EqualFold for case-insensitive 'off' comparison to handle OFF, Off, etc. - Add test cases for invalid boolean and uppercase OFF - Update docs to mention case-insensitive and error behavior Signed-off-by: yxxhero <[email protected]>
| opts := vals.Options{ | ||
| CacheSize: valsCacheSize, | ||
| FailOnMissingKeyInMap: failOnMissingKey, | ||
| AWSLogLevel: logLevel, | ||
| } | ||
|
|
||
| // Also suppress vals' own internal logging unless user wants verbose output | ||
| // This prevents vals' log messages (separate from AWS SDK logs) from exposing credentials | ||
| // Use case-insensitive comparison for "off" to handle OFF, Off, etc. | ||
| if strings.EqualFold(logLevel, "off") { | ||
| opts.LogOutput = io.Discard | ||
| } |
There was a problem hiding this comment.
The code treats "off" as case-insensitive only for opts.LogOutput, but still passes the original-cased logLevel through to opts.AWSLogLevel. If the vals/AWS SDK log-level parsing is case-sensitive, values like OFF/Off may not actually disable AWS SDK logging even though helmfile suppresses vals’ internal logging—this is inconsistent with the documented “case-insensitive” behavior. Consider normalizing logLevel to the canonical "off" when EqualFold(logLevel, "off") (or normalizing all known values) before assigning opts.AWSLogLevel, and update tests accordingly.
| func ValsInstance() (*vals.Runtime, error) { | ||
| var err error | ||
| once.Do(func() { | ||
| var opts vals.Options | ||
| opts, err = buildValsOptions() | ||
| if err != nil { | ||
| return | ||
| } | ||
| instance, err = vals.New(opts) | ||
| }) |
There was a problem hiding this comment.
once.Do executes even when buildValsOptions() returns an error, which permanently prevents re-initialization for the lifetime of the process. This makes a one-time configuration mistake (e.g., invalid boolean env var) unrecoverable within the same process, and can also make tests brittle if env vars change between subtests and ValsInstance() is used elsewhere. A more robust pattern is to only “lock in” the singleton after successful initialization (e.g., guard with a mutex + if instance == nil and allow retry when the previous attempt errored, or store initErr and decide whether retries are allowed).
| * `HELMFILE_FILE_PATH` - specify the path to the helmfile.yaml file | ||
| * `HELMFILE_INTERACTIVE` - enable interactive mode, expecting `true` lower case. The same as `--interactive` CLI flag | ||
| * `HELMFILE_RENDER_YAML` - force helmfile.yaml to be rendered as a Go template regardless of file extension, expecting `true` lower case. Useful for migrating from v0 to v1 without renaming files to `.gotmpl` | ||
| * `HELMFILE_AWS_SDK_LOG_LEVEL` - configure AWS SDK logging level for vals library. Valid values: `off` (default, secure, case-insensitive), `minimal`, `standard`, `verbose`, or custom comma-separated values like `request,response`. See issue #2270 for details |
There was a problem hiding this comment.
The docs claim HELMFILE_AWS_SDK_LOG_LEVEL is “case-insensitive”, but the implementation currently only treats "off" as case-insensitive for suppressing opts.LogOutput; it still forwards the original value to opts.AWSLogLevel. Either normalize/canonicalize the value in code (recommended, to match docs and user expectations) or adjust the docs to describe the exact behavior.
| * `HELMFILE_AWS_SDK_LOG_LEVEL` - configure AWS SDK logging level for vals library. Valid values: `off` (default, secure, case-insensitive), `minimal`, `standard`, `verbose`, or custom comma-separated values like `request,response`. See issue #2270 for details | |
| * `HELMFILE_AWS_SDK_LOG_LEVEL` - configure AWS SDK logging level for vals library. Valid values: `off` (default, secure; matching is case-insensitive only for disabling logging output), `minimal`, `standard`, `verbose`, or custom comma-separated values like `request,response`. The raw value is forwarded to the AWS SDK as-is, so non-`off` values must use the exact form expected by the SDK. See issue #2270 for details |
| * `HELMFILE_INTERACTIVE` - enable interactive mode, expecting `true` lower case. The same as `--interactive` CLI flag | ||
| * `HELMFILE_RENDER_YAML` - force helmfile.yaml to be rendered as a Go template regardless of file extension, expecting `true` lower case. Useful for migrating from v0 to v1 without renaming files to `.gotmpl` | ||
| * `HELMFILE_AWS_SDK_LOG_LEVEL` - configure AWS SDK logging level for vals library. Valid values: `off` (default, secure, case-insensitive), `minimal`, `standard`, `verbose`, or custom comma-separated values like `request,response`. See issue #2270 for details | ||
| * `HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP` - enable strict mode for vals secret references. When set to `true` (or any value accepted by Go's `strconv.ParseBool` like `TRUE`, `1`), vals will fail when a referenced key does not exist in the secret map. Invalid values will cause an error at startup. Default is `false` (when unset or empty) for backward compatibility. See issue #1563 for details |
There was a problem hiding this comment.
Docs say invalid values for HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP "will cause an error at startup", but the error is raised when ValsInstance() initializes vals (i.e., when vals is first used), which may not be at process startup in all command paths. Consider rewording to reflect when initialization happens (e.g., "when vals is initialized" / "when secret refs are evaluated").
| * `HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP` - enable strict mode for vals secret references. When set to `true` (or any value accepted by Go's `strconv.ParseBool` like `TRUE`, `1`), vals will fail when a referenced key does not exist in the secret map. Invalid values will cause an error at startup. Default is `false` (when unset or empty) for backward compatibility. See issue #1563 for details | |
| * `HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP` - enable strict mode for vals secret references. When set to `true` (or any value accepted by Go's `strconv.ParseBool` like `TRUE`, `1`), vals will fail when a referenced key does not exist in the secret map. Invalid values will cause an error when vals is initialized (for example, when secret references are first evaluated). Default is `false` (when unset or empty) for backward compatibility. See issue #1563 for details |
- Normalize AWS log level 'off' to lowercase for true case-insensitivity - Replace sync.Once with mutex to allow recovery from config errors - Update tests to expect normalized 'off' value - Update docs to clarify when error is raised Signed-off-by: yxxhero <[email protected]>
…) (#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
Summary
Add
HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAPenvironment variable to control whether vals should fail when a referenced key does not exist in the secret map.Previously, when a secret reference like
ref+vault://path#/nonexistent-keypointed to a non-existent key, vals would silently return an empty string without error. This could lead to deployments with missing configuration.Changes
HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAPenvironment variable inpkg/envvar/const.goFailOnMissingKeyInMapoptionUsage
Default behavior (backward compatible):
helmfile apply # Missing key returns empty stringStrict mode:
Fixes #1563