Skip to content

fix: error on missing secret key when using vals#2496

Merged
yxxhero merged 6 commits into
mainfrom
fix-vals-missing-key-error-1563
Mar 24, 2026
Merged

fix: error on missing secret key when using vals#2496
yxxhero merged 6 commits into
mainfrom
fix-vals-missing-key-error-1563

Conversation

@yxxhero

@yxxhero yxxhero commented Mar 22, 2026

Copy link
Copy Markdown
Member

Summary

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.

Changes

  • Add HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP environment variable in pkg/envvar/const.go
  • Update vals initialization to read this config and set FailOnMissingKeyInMap option
  • Add test cases for the new configuration

Usage

Default behavior (backward compatible):

helmfile apply  # Missing key returns empty string

Strict mode:

export HELMFILE_VALS_FAIL_ON_MISSING_KEY_IN_MAP=true
helmfile apply  # Missing key causes error

Fixes #1563

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_MAP env var to control strict missing-key behavior.
  • Wires the env var into vals.Options.FailOnMissingKeyInMap during ValsInstance() 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.

Comment thread pkg/plugins/vals_test.go Outdated
Comment on lines +168 to +173
func TestFailOnMissingKeyInMap(t *testing.T) {
tests := []struct {
name string
envValue string
expected bool
}{

Copilot AI Mar 22, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot generated this review using guidance from repository custom instructions.
Comment thread pkg/plugins/vals_test.go Outdated
yxxhero added a commit that referenced this pull request Mar 22, 2026
- 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]>
@yxxhero yxxhero requested a review from Copilot March 22, 2026 02:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

Comment thread pkg/plugins/vals_test.go Outdated
Comment on lines 167 to 170
if tt.envValue != "" {
logLevel = strings.TrimSpace(tt.envValue)
t.Setenv(envvar.AWSSDKLogLevel, tt.envValue)
}

Copilot AI Mar 22, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 "").

Copilot uses AI. Check for mistakes.
Comment thread pkg/plugins/vals.go
Comment on lines +37 to +46
// 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"
}

Copilot AI Mar 22, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment thread pkg/plugins/vals_test.go Outdated
Comment on lines +93 to +98
if tt.awsLogLevel != "" {
t.Setenv(envvar.AWSSDKLogLevel, tt.awsLogLevel)
}
if tt.failOnMissingKey != "" {
t.Setenv(envvar.ValsFailOnMissingKeyInMap, tt.failOnMissingKey)
}

Copilot AI Mar 22, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
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)

Copilot uses AI. Check for mistakes.
xiaomudk
xiaomudk previously approved these changes Mar 23, 2026
yxxhero added 4 commits March 23, 2026 13:19
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]>
@yxxhero yxxhero force-pushed the fix-vals-missing-key-error-1563 branch from 9904af0 to ea7808f Compare March 23, 2026 05:19
@yxxhero yxxhero requested a review from Copilot March 23, 2026 05:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

Comment thread pkg/plugins/vals.go Outdated
// 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)))

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment thread pkg/plugins/vals.go
// - 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))

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
Comment thread pkg/plugins/vals.go
Comment on lines +58 to +60
if logLevel == "off" {
opts.LogOutput = io.Discard
}

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
Comment thread pkg/plugins/vals_test.go
Comment on lines +24 to +32
func TestBuildValsOptions(t *testing.T) {
tests := []struct {
name string
awsLogLevel string
failOnMissingKey string
expectedLogLevel string
expectedFailOnMissingKey bool
expectedLogOutputDiscarded bool
}{

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
- 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]>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

Comment thread pkg/plugins/vals.go
Comment on lines +59 to +70
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
}

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment thread pkg/plugins/vals.go Outdated
Comment on lines 76 to 85
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)
})

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
Comment thread docs/index.md
* `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

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
* `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

Copilot uses AI. Check for mistakes.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Comment thread docs/index.md Outdated
* `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

Copilot AI Mar 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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").

Suggested change
* `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

Copilot uses AI. Check for mistakes.
- 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]>
@yxxhero yxxhero merged commit 472e8c7 into main Mar 24, 2026
16 checks passed
@yxxhero yxxhero deleted the fix-vals-missing-key-error-1563 branch March 24, 2026 01:42
hbjydev pushed a commit to hbjydev/phoebe that referenced this pull request May 29, 2026
…) (#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 [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2588](helmfile/helmfile#2588)
- bump helm-diff to v3.15.7 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2591](helmfile/helmfile#2591)
- fix: refresh Chart.lock after rewriting file:// dependencies by [@&#8203;sstarcher](https://github.com/sstarcher) in [#&#8203;2587](helmfile/helmfile#2587)
- feat: support HELMFILE\_KUBE\_CONTEXT env var for default kube context by [@&#8203;dschmidt](https://github.com/dschmidt) in [#&#8203;2593](helmfile/helmfile#2593)
- feat: support HELMFILE\_NAMESPACE env var for default namespace by [@&#8203;dschmidt](https://github.com/dschmidt) in [#&#8203;2592](helmfile/helmfile#2592)
- fix: normalize dependency chart path before DirectoryExistsAt check by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2598](helmfile/helmfile#2598)
- Add jsonPatches regression coverage for chartify lookup rendering by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2586](helmfile/helmfile#2586)
- feat: add defaultInherit for automatic release template inheritance by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2600](helmfile/helmfile#2600)
- fix: restore kubedog status progress output during tracking by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2602](helmfile/helmfile#2602)
- feat: show diff preview when sync --interactive is used by [@&#8203;vomba](https://github.com/vomba) in [#&#8203;2603](helmfile/helmfile#2603)
- build(deps): bump github.com/containerd/containerd from 1.7.30 to 1.7.32 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2607](helmfile/helmfile#2607)
- feat: support HELMFILE\_\* env vars for more global flags by [@&#8203;dschmidt](https://github.com/dschmidt) in [#&#8203;2606](helmfile/helmfile#2606)

#### New Contributors

- [@&#8203;vomba](https://github.com/vomba) made their first contribution in [#&#8203;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 [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2576](helmfile/helmfile#2576)
- docs: update helmfile skill to reflect v1.1 documentation by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2577](helmfile/helmfile#2577)
- fix(state): resolve OCI repo prefix in ad-hoc release dependencies by [@&#8203;dschmidt](https://github.com/dschmidt) in [#&#8203;2579](helmfile/helmfile#2579)
- feat(state): add mergeStrategy: fallback for first-file-wins env values by [@&#8203;dschmidt](https://github.com/dschmidt) in [#&#8203;2578](helmfile/helmfile#2578)
- Expose internal apis by [@&#8203;ceriath](https://github.com/ceriath) in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2581](helmfile/helmfile#2581)
- chore: Deduplicate preparation code of sync and apply by [@&#8203;ceriath](https://github.com/ceriath) in [#&#8203;2523](helmfile/helmfile#2523)
- build(deps): bump gitpython from 3.1.47 to 3.1.49 in /docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2582](helmfile/helmfile#2582)
- chore: Emit "cleanup" events later to match the behavior in "apply" by [@&#8203;ceriath](https://github.com/ceriath) in [#&#8203;2522](helmfile/helmfile#2522)
- build(deps): bump golang.org/x/term from 0.42.0 to 0.43.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2584](helmfile/helmfile#2584)
- build(deps): bump gitpython from 3.1.49 to 3.1.50 in /docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2585](helmfile/helmfile#2585)
- fix: template helmDefaults.postRendererArgs with release data by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;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 [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2572](helmfile/helmfile#2572)
- feat: add 'create' subcommand to scaffold helmfile deployment projects by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2574](helmfile/helmfile#2574)
- docs: restructure documentation and improve newcomer experience by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2573](helmfile/helmfile#2573)
- docs: deduplicate Technical Details sections in values-and-merging.md by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2524](helmfile/helmfile#2524)
- chore: rename variables to match in apply and sync by [@&#8203;ceriath](https://github.com/ceriath) in [#&#8203;2521](helmfile/helmfile#2521)
- chore: bump Helm to v4.1.4 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2525](helmfile/helmfile#2525)
- build(deps): bump golang.org/x/term from 0.41.0 to 0.42.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2529](helmfile/helmfile#2529)
- bump helm v3.20.1 to v3.20.2 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2530](helmfile/helmfile#2530)
- build(deps): bump github.com/helmfile/vals from 0.43.8 to 0.43.9 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2533](helmfile/helmfile#2533)
- Update Go from 1.25.8 to 1.26.2 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2535](helmfile/helmfile#2535)
- fix: boolean false overrides dropped in multi-document helmfiles ([#&#8203;2527](helmfile/helmfile#2527)) by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2532](helmfile/helmfile#2532)
- build(deps): bump github.com/helmfile/chartify from 0.26.2 to 0.26.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2538](helmfile/helmfile#2538)
- fix: add mutex lock for concurrent rewriteChartDependencies access by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2509](helmfile/helmfile#2509)
- fix: update state values files handling to replace arrays instead of merging by [@&#8203;Moglum](https://github.com/Moglum) in [#&#8203;2537](helmfile/helmfile#2537)
- fix: helmDefaults.postRendererArgs not passed to helm commands by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2510](helmfile/helmfile#2510)
- enabledns flags available on template command by [@&#8203;Diliz](https://github.com/Diliz) in [#&#8203;2511](helmfile/helmfile#2511)
- build(deps): bump k8s.io/apimachinery from 0.35.3 to 0.35.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2540](helmfile/helmfile#2540)
- build(deps): bump k8s.io/client-go from 0.35.3 to 0.35.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2539](helmfile/helmfile#2539)
- build(deps): bump github.com/zclconf/go-cty from 1.18.0 to 1.18.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2542](helmfile/helmfile#2542)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.14 to 1.32.15 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2543](helmfile/helmfile#2543)
- fix: eliminate race condition in rewriteChartDependencies by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2546](helmfile/helmfile#2546)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.15 to 1.32.16 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2547](helmfile/helmfile#2547)
- build(deps): bump k8s.io/apimachinery from 0.35.4 to 0.36.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2552](helmfile/helmfile#2552)
- Fix helmfile init failing to update outdated helm plugins with Helm v4 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2554](helmfile/helmfile#2554)
- fix: skip subhelmfiles when selectors conflict with CLI selectors by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2545](helmfile/helmfile#2545)
- build(deps): bump gitpython from 3.1.41 to 3.1.47 in /docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2555](helmfile/helmfile#2555)
- fix: apply post-renderer to output-dir-template output by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2531](helmfile/helmfile#2531)
- build(deps): bump go.uber.org/zap from 1.27.1 to 1.28.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2558](helmfile/helmfile#2558)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.16 to 1.32.17 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2559](helmfile/helmfile#2559)
- update readme add install from source by [@&#8203;Sianao](https://github.com/Sianao) in [#&#8203;2561](helmfile/helmfile#2561)
- Honor `skipSchemaValidation` during chartification when `forceNamespace` is set by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2550](helmfile/helmfile#2550)
- build(deps): bump github.com/Masterminds/semver/v3 from 3.4.0 to 3.5.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2565](helmfile/helmfile#2565)
- fix: deduplicate chart dependencies in helmfile.lock by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2567](helmfile/helmfile#2567)
- build(deps): replace werf/kubedog-for-werf-helm with werf/kubedog by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2568](helmfile/helmfile#2568)
- build(deps): bump helmfile/vals from v0.43.9 to v0.44.0 by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2569](helmfile/helmfile#2569)
- fix: use --post-renderer-args=VALUE format to prevent Helm flag parsing failure by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2570](helmfile/helmfile#2570)

#### New Contributors

- [@&#8203;Moglum](https://github.com/Moglum) made their first contribution in [#&#8203;2537](helmfile/helmfile#2537)
- [@&#8203;Diliz](https://github.com/Diliz) made their first contribution in [#&#8203;2511](helmfile/helmfile#2511)
- [@&#8203;Sianao](https://github.com/Sianao) made their first contribution in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2500](helmfile/helmfile#2500)
- fix: helmfile fetch fails for kustomization directories by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2504](helmfile/helmfile#2504)
- fix: keep all chart dependencies key / values by [@&#8203;champtar](https://github.com/champtar) in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2505](helmfile/helmfile#2505)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.12 to 1.32.13 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2512](helmfile/helmfile#2512)
- build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2513](helmfile/helmfile#2513)
- chore: update go version to 1.25.8 by [@&#8203;eadred](https://github.com/eadred) in [#&#8203;2514](helmfile/helmfile#2514)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.13 to 1.32.14 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2517](helmfile/helmfile#2517)
- build(deps): bump github.com/helmfile/vals from 0.43.7 to 0.43.8 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2518](helmfile/helmfile#2518)

#### New Contributors

- [@&#8203;champtar](https://github.com/champtar) made their first contribution in [#&#8203;2501](helmfile/helmfile#2501)
- [@&#8203;eadred](https://github.com/eadred) made their first contribution in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2488](helmfile/helmfile#2488)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.11 to 1.32.12 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2487](helmfile/helmfile#2487)
- Fix interactive apply asks in no change situation by [@&#8203;tarrow](https://github.com/tarrow) in [#&#8203;945](helmfile/helmfile#945)
- build(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2490](helmfile/helmfile#2490)
- fix: helmfile list now reflects version from helmfile.lock by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2486](helmfile/helmfile#2486)
- build(deps): bump k8s.io/client-go from 0.35.2 to 0.35.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2492](helmfile/helmfile#2492)
- build(deps): bump github.com/fatih/color from 1.18.0 to 1.19.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2494](helmfile/helmfile#2494)
- fix: cleanup hooks not receiving error signal by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2475](helmfile/helmfile#2475)
- fix: pass --timeout flag through to helm for sync and apply by [@&#8203;hristiy4n](https://github.com/hristiy4n) in [#&#8203;2495](helmfile/helmfile#2495)
- fix: error on missing secret key when using vals by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2496](helmfile/helmfile#2496)
- build: update helm-diff to v3.15.3 by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2498](helmfile/helmfile#2498)
- feat: add an arg that passing description to `helm upgrade` command by [@&#8203;swimablefish](https://github.com/swimablefish) in [#&#8203;2497](helmfile/helmfile#2497)

#### New Contributors

- [@&#8203;tarrow](https://github.com/tarrow) made their first contribution in [#&#8203;945](helmfile/helmfile#945)
- [@&#8203;hristiy4n](https://github.com/hristiy4n) made their first contribution in [#&#8203;2495](helmfile/helmfile#2495)
- [@&#8203;swimablefish](https://github.com/swimablefish) made their first contribution in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2456](helmfile/helmfile#2456)
- build(deps): bump docker/login-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2454](helmfile/helmfile#2454)
- build(deps): bump docker/setup-qemu-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2453](helmfile/helmfile#2453)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.10 to 1.32.11 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2455](helmfile/helmfile#2455)
- Add CHANGELOG.md by [@&#8203;PhilipLudington](https://github.com/PhilipLudington) in [#&#8203;2457](helmfile/helmfile#2457)
- build(deps): bump docker/setup-buildx-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2462](helmfile/helmfile#2462)
- build(deps): bump markdown from 3.6 to 3.8.1 in /docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2463](helmfile/helmfile#2463)
- build(deps): bump docker/build-push-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2470](helmfile/helmfile#2470)
- build(deps): bump docker/metadata-action from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2468](helmfile/helmfile#2468)
- feat: add helm-legacy track mode for Helm v4 compatibility by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2466](helmfile/helmfile#2466)
- docs: add comprehensive values merging and data flow guide by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2461](helmfile/helmfile#2461)
- fix: nested helmfile values should replace arrays, not merge element-by-element by [@&#8203;aditmeno](https://github.com/aditmeno) in [#&#8203;2458](helmfile/helmfile#2458)
- build(deps): bump go.yaml.in/yaml/v2 from 2.4.3 to 2.4.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2473](helmfile/helmfile#2473)
- build(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2472](helmfile/helmfile#2472)
- fix: use --force-replace flag for Helm 4 instead of deprecated --force by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2477](helmfile/helmfile#2477)
- build(deps): bump golang.org/x/term from 0.40.0 to 0.41.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2479](helmfile/helmfile#2479)
- build(deps): bump github.com/helmfile/vals from 0.43.6 to 0.43.7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2484](helmfile/helmfile#2484)
- build(deps): bump Helm from v4.1.1 to v4.1.3 by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2481](helmfile/helmfile#2481)
- feat: add --force-conflicts flag support for Helm 4 by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2480](helmfile/helmfile#2480)

#### New Contributors

- [@&#8203;PhilipLudington](https://github.com/PhilipLudington) made their first contribution in [#&#8203;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
hbjydev pushed a commit to hbjydev/phoebe that referenced this pull request Jun 10, 2026
…) (#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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2608](helmfile/helmfile#2608)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.17 to 1.32.18 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2613](helmfile/helmfile#2613)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.18 to 1.32.20 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2614](helmfile/helmfile#2614)
- fix: support array of maps in set/setTemplate values by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2615](helmfile/helmfile#2615)
- fix: remove naked return by returning expected values by [@&#8203;ceriath](https://github.com/ceriath) in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2619](helmfile/helmfile#2619)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.20 to 1.32.21 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2620](helmfile/helmfile#2620)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.21 to 1.32.22 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2622](helmfile/helmfile#2622)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.22 to 1.32.23 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2623](helmfile/helmfile#2623)
- Bump helm-diff to v3.15.8 across runtime defaults and execution environments by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2624](helmfile/helmfile#2624)
- build(deps): bump golang.org/x/sync from 0.20.0 to 0.21.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2588](helmfile/helmfile#2588)
- bump helm-diff to v3.15.7 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2591](helmfile/helmfile#2591)
- fix: refresh Chart.lock after rewriting file:// dependencies by [@&#8203;sstarcher](https://github.com/sstarcher) in [#&#8203;2587](helmfile/helmfile#2587)
- feat: support HELMFILE\_KUBE\_CONTEXT env var for default kube context by [@&#8203;dschmidt](https://github.com/dschmidt) in [#&#8203;2593](helmfile/helmfile#2593)
- feat: support HELMFILE\_NAMESPACE env var for default namespace by [@&#8203;dschmidt](https://github.com/dschmidt) in [#&#8203;2592](helmfile/helmfile#2592)
- fix: normalize dependency chart path before DirectoryExistsAt check by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2598](helmfile/helmfile#2598)
- Add jsonPatches regression coverage for chartify lookup rendering by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2586](helmfile/helmfile#2586)
- feat: add defaultInherit for automatic release template inheritance by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2600](helmfile/helmfile#2600)
- fix: restore kubedog status progress output during tracking by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2602](helmfile/helmfile#2602)
- feat: show diff preview when sync --interactive is used by [@&#8203;vomba](https://github.com/vomba) in [#&#8203;2603](helmfile/helmfile#2603)
- build(deps): bump github.com/containerd/containerd from 1.7.30 to 1.7.32 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2607](helmfile/helmfile#2607)
- feat: support HELMFILE\_\* env vars for more global flags by [@&#8203;dschmidt](https://github.com/dschmidt) in [#&#8203;2606](helmfile/helmfile#2606)

#### New Contributors

- [@&#8203;vomba](https://github.com/vomba) made their first contribution in [#&#8203;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 [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2576](helmfile/helmfile#2576)
- docs: update helmfile skill to reflect v1.1 documentation by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2577](helmfile/helmfile#2577)
- fix(state): resolve OCI repo prefix in ad-hoc release dependencies by [@&#8203;dschmidt](https://github.com/dschmidt) in [#&#8203;2579](helmfile/helmfile#2579)
- feat(state): add mergeStrategy: fallback for first-file-wins env values by [@&#8203;dschmidt](https://github.com/dschmidt) in [#&#8203;2578](helmfile/helmfile#2578)
- Expose internal apis by [@&#8203;ceriath](https://github.com/ceriath) in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2581](helmfile/helmfile#2581)
- chore: Deduplicate preparation code of sync and apply by [@&#8203;ceriath](https://github.com/ceriath) in [#&#8203;2523](helmfile/helmfile#2523)
- build(deps): bump gitpython from 3.1.47 to 3.1.49 in /docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2582](helmfile/helmfile#2582)
- chore: Emit "cleanup" events later to match the behavior in "apply" by [@&#8203;ceriath](https://github.com/ceriath) in [#&#8203;2522](helmfile/helmfile#2522)
- build(deps): bump golang.org/x/term from 0.42.0 to 0.43.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2584](helmfile/helmfile#2584)
- build(deps): bump gitpython from 3.1.49 to 3.1.50 in /docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2585](helmfile/helmfile#2585)
- fix: template helmDefaults.postRendererArgs with release data by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;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 [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2572](helmfile/helmfile#2572)
- feat: add 'create' subcommand to scaffold helmfile deployment projects by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2574](helmfile/helmfile#2574)
- docs: restructure documentation and improve newcomer experience by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2573](helmfile/helmfile#2573)
- docs: deduplicate Technical Details sections in values-and-merging.md by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2524](helmfile/helmfile#2524)
- chore: rename variables to match in apply and sync by [@&#8203;ceriath](https://github.com/ceriath) in [#&#8203;2521](helmfile/helmfile#2521)
- chore: bump Helm to v4.1.4 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2525](helmfile/helmfile#2525)
- build(deps): bump golang.org/x/term from 0.41.0 to 0.42.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2529](helmfile/helmfile#2529)
- bump helm v3.20.1 to v3.20.2 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2530](helmfile/helmfile#2530)
- build(deps): bump github.com/helmfile/vals from 0.43.8 to 0.43.9 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2533](helmfile/helmfile#2533)
- Update Go from 1.25.8 to 1.26.2 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2535](helmfile/helmfile#2535)
- fix: boolean false overrides dropped in multi-document helmfiles ([#&#8203;2527](helmfile/helmfile#2527)) by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2532](helmfile/helmfile#2532)
- build(deps): bump github.com/helmfile/chartify from 0.26.2 to 0.26.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2538](helmfile/helmfile#2538)
- fix: add mutex lock for concurrent rewriteChartDependencies access by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2509](helmfile/helmfile#2509)
- fix: update state values files handling to replace arrays instead of merging by [@&#8203;Moglum](https://github.com/Moglum) in [#&#8203;2537](helmfile/helmfile#2537)
- fix: helmDefaults.postRendererArgs not passed to helm commands by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2510](helmfile/helmfile#2510)
- enabledns flags available on template command by [@&#8203;Diliz](https://github.com/Diliz) in [#&#8203;2511](helmfile/helmfile#2511)
- build(deps): bump k8s.io/apimachinery from 0.35.3 to 0.35.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2540](helmfile/helmfile#2540)
- build(deps): bump k8s.io/client-go from 0.35.3 to 0.35.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2539](helmfile/helmfile#2539)
- build(deps): bump github.com/zclconf/go-cty from 1.18.0 to 1.18.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2542](helmfile/helmfile#2542)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.14 to 1.32.15 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2543](helmfile/helmfile#2543)
- fix: eliminate race condition in rewriteChartDependencies by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2546](helmfile/helmfile#2546)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.15 to 1.32.16 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2547](helmfile/helmfile#2547)
- build(deps): bump k8s.io/apimachinery from 0.35.4 to 0.36.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2552](helmfile/helmfile#2552)
- Fix helmfile init failing to update outdated helm plugins with Helm v4 by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2554](helmfile/helmfile#2554)
- fix: skip subhelmfiles when selectors conflict with CLI selectors by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2545](helmfile/helmfile#2545)
- build(deps): bump gitpython from 3.1.41 to 3.1.47 in /docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2555](helmfile/helmfile#2555)
- fix: apply post-renderer to output-dir-template output by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2531](helmfile/helmfile#2531)
- build(deps): bump go.uber.org/zap from 1.27.1 to 1.28.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2558](helmfile/helmfile#2558)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.16 to 1.32.17 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2559](helmfile/helmfile#2559)
- update readme add install from source by [@&#8203;Sianao](https://github.com/Sianao) in [#&#8203;2561](helmfile/helmfile#2561)
- Honor `skipSchemaValidation` during chartification when `forceNamespace` is set by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;2550](helmfile/helmfile#2550)
- build(deps): bump github.com/Masterminds/semver/v3 from 3.4.0 to 3.5.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2565](helmfile/helmfile#2565)
- fix: deduplicate chart dependencies in helmfile.lock by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2567](helmfile/helmfile#2567)
- build(deps): replace werf/kubedog-for-werf-helm with werf/kubedog by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2568](helmfile/helmfile#2568)
- build(deps): bump helmfile/vals from v0.43.9 to v0.44.0 by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2569](helmfile/helmfile#2569)
- fix: use --post-renderer-args=VALUE format to prevent Helm flag parsing failure by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2570](helmfile/helmfile#2570)

#### New Contributors

- [@&#8203;Moglum](https://github.com/Moglum) made their first contribution in [#&#8203;2537](helmfile/helmfile#2537)
- [@&#8203;Diliz](https://github.com/Diliz) made their first contribution in [#&#8203;2511](helmfile/helmfile#2511)
- [@&#8203;Sianao](https://github.com/Sianao) made their first contribution in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2500](helmfile/helmfile#2500)
- fix: helmfile fetch fails for kustomization directories by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2504](helmfile/helmfile#2504)
- fix: keep all chart dependencies key / values by [@&#8203;champtar](https://github.com/champtar) in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2505](helmfile/helmfile#2505)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.12 to 1.32.13 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2512](helmfile/helmfile#2512)
- build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2513](helmfile/helmfile#2513)
- chore: update go version to 1.25.8 by [@&#8203;eadred](https://github.com/eadred) in [#&#8203;2514](helmfile/helmfile#2514)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.13 to 1.32.14 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2517](helmfile/helmfile#2517)
- build(deps): bump github.com/helmfile/vals from 0.43.7 to 0.43.8 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2518](helmfile/helmfile#2518)

#### New Contributors

- [@&#8203;champtar](https://github.com/champtar) made their first contribution in [#&#8203;2501](helmfile/helmfile#2501)
- [@&#8203;eadred](https://github.com/eadred) made their first contribution in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2488](helmfile/helmfile#2488)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.11 to 1.32.12 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2487](helmfile/helmfile#2487)
- Fix interactive apply asks in no change situation by [@&#8203;tarrow](https://github.com/tarrow) in [#&#8203;945](helmfile/helmfile#945)
- build(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2490](helmfile/helmfile#2490)
- fix: helmfile list now reflects version from helmfile.lock by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2486](helmfile/helmfile#2486)
- build(deps): bump k8s.io/client-go from 0.35.2 to 0.35.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2492](helmfile/helmfile#2492)
- build(deps): bump github.com/fatih/color from 1.18.0 to 1.19.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2494](helmfile/helmfile#2494)
- fix: cleanup hooks not receiving error signal by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2475](helmfile/helmfile#2475)
- fix: pass --timeout flag through to helm for sync and apply by [@&#8203;hristiy4n](https://github.com/hristiy4n) in [#&#8203;2495](helmfile/helmfile#2495)
- fix: error on missing secret key when using vals by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2496](helmfile/helmfile#2496)
- build: update helm-diff to v3.15.3 by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2498](helmfile/helmfile#2498)
- feat: add an arg that passing description to `helm upgrade` command by [@&#8203;swimablefish](https://github.com/swimablefish) in [#&#8203;2497](helmfile/helmfile#2497)

#### New Contributors

- [@&#8203;tarrow](https://github.com/tarrow) made their first contribution in [#&#8203;945](helmfile/helmfile#945)
- [@&#8203;hristiy4n](https://github.com/hristiy4n) made their first contribution in [#&#8203;2495](helmfile/helmfile#2495)
- [@&#8203;swimablefish](https://github.com/swimablefish) made their first contribution in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2456](helmfile/helmfile#2456)
- build(deps): bump docker/login-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2454](helmfile/helmfile#2454)
- build(deps): bump docker/setup-qemu-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2453](helmfile/helmfile#2453)
- build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.10 to 1.32.11 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2455](helmfile/helmfile#2455)
- Add CHANGELOG.md by [@&#8203;PhilipLudington](https://github.com/PhilipLudington) in [#&#8203;2457](helmfile/helmfile#2457)
- build(deps): bump docker/setup-buildx-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2462](helmfile/helmfile#2462)
- build(deps): bump markdown from 3.6 to 3.8.1 in /docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2463](helmfile/helmfile#2463)
- build(deps): bump docker/build-push-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2470](helmfile/helmfile#2470)
- build(deps): bump docker/metadata-action from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2468](helmfile/helmfile#2468)
- feat: add helm-legacy track mode for Helm v4 compatibility by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2466](helmfile/helmfile#2466)
- docs: add comprehensive values merging and data flow guide by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2461](helmfile/helmfile#2461)
- fix: nested helmfile values should replace arrays, not merge element-by-element by [@&#8203;aditmeno](https://github.com/aditmeno) in [#&#8203;2458](helmfile/helmfile#2458)
- build(deps): bump go.yaml.in/yaml/v2 from 2.4.3 to 2.4.4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2473](helmfile/helmfile#2473)
- build(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2472](helmfile/helmfile#2472)
- fix: use --force-replace flag for Helm 4 instead of deprecated --force by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2477](helmfile/helmfile#2477)
- build(deps): bump golang.org/x/term from 0.40.0 to 0.41.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2479](helmfile/helmfile#2479)
- build(deps): bump github.com/helmfile/vals from 0.43.6 to 0.43.7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;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 [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2484](helmfile/helmfile#2484)
- build(deps): bump Helm from v4.1.1 to v4.1.3 by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2481](helmfile/helmfile#2481)
- feat: add --force-conflicts flag support for Helm 4 by [@&#8203;yxxhero](https://github.com/yxxhero) in [#&#8203;2480](helmfile/helmfile#2480)

#### New Contributors

- [@&#8203;PhilipLudington](https://github.com/PhilipLudington) made their first contribution in [#&#8203;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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Helmfile doesnt error if helm-secrets fail

3 participants