Skip to content

feat(state): add mergeStrategy: fallback for first-file-wins env values#2578

Merged
yxxhero merged 6 commits into
helmfile:mainfrom
dschmidt:feat/environment-merge-strategy-fallback
May 7, 2026
Merged

feat(state): add mergeStrategy: fallback for first-file-wins env values#2578
yxxhero merged 6 commits into
helmfile:mainfrom
dschmidt:feat/environment-merge-strategy-fallback

Conversation

@dschmidt

@dschmidt dschmidt commented May 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds an opt-in per-environment field mergeStrategy to EnvironmentSpec. When set to fallback, the precedence of files listed under values: is flipped: earlier files win, and later files only fill in missing keys. The default override (and an empty/unset field) keeps the historical last-file-wins behavior, so this PR is fully backwards compatible.

environments:
  production:
    mergeStrategy: fallback
    values:
      - cluster-specific.yaml      # wins on every key it defines
      - shared-defaults.yaml.gotmpl

Two coupled changes ship together because either alone is half-useful for the canonical use case:

  1. Precedence flip in mapMerge. A naïve "drop mergo.WithOverride" approach is wrong because mergo's isEmptyValue would silently let enabled: true from a fallback file overwrite an explicit enabled: false from the winning file. Instead, the fallback path reuses maputil.MergeMaps (helmfile's existing deep-merge utility) with the new file as the merge base and the accumulator overlaid on top. The accumulator wins on every non-nil key, so explicit false, 0, "", empty list, and empty map values are preserved when set in an earlier file. Explicit null falls through to a later fallback (consistent with how MergeMaps treats nil from the override side everywhere else).

  2. Cross-file template visibility under fallback. Under fallback strategy, .gotmpl values files now see values accumulated from earlier files in the same values: list via .Values. This makes derived defaults work natively:

    # cluster-specific.yaml
    cluster:
      domain: prod.example.com
    # shared-defaults.yaml.gotmpl
    service:
      domain: "service.{{ .Values.cluster.domain }}"   # → service.prod.example.com

    Env CLI overrides and env values still win on overlap — the accumulator is layered under env.GetMergedValues() with mergo.WithOverride. Override mode keeps the historical template context unchanged.

Why

A common pattern is "one file with environment-specific values + one file with shared defaults". Today this is hard to express on two independent fronts: (a) the defaults file would override the specifics regardless of which order you list them in, and (b) .gotmpl values files cannot reference values from sibling files in the same values: list (the template context is just env.GetMergedValues() — the accumulator never feeds back in). Users currently work around both by hand-rolling a merged-values.yaml.gotmpl that uses readFile + tpl + manual merge to flip precedence and stage the template render. With mergeStrategy: fallback, the natural ordering matches the natural intent and the workaround disappears.

A worked example pattern that now works directly:

environments:
  prod:
    mergeStrategy: fallback
    values:
      - "environments/{{ .Environment.Name }}/*.yaml"   # env-specific overrides (may be empty)
      - environments/default/fallback.yaml              # shared defaults

Adding a new environment becomes mkdir environments/foo && touch environments/foo/values.yaml.

Out of scope

  • Changing secrets: merge behavior — stays override.
  • The top-level values: block — the one at the root of helmfile.yaml, separate from environments.*.values:. That list loads into Environment.Defaults and is then overridden by per-environment values regardless of strategy, so within-list merging there is a different (and much smaller) concern. A sibling root-level field could be added later if demand emerges, without breaking the per-env field shipped here.

@dschmidt

dschmidt commented May 6, 2026

Copy link
Copy Markdown
Contributor Author

A note on prior work — I should have checked harder before opening this. After the fact I went looking and found a pretty rich history I'd missed:

I arrived here from a different angle — the gotmpl readFile + tpl + merge workaround was annoying me, I went looking for where in the loader to fix it, and ended up writing this PR before realizing #741 had been chasing the same itch for two and a half years. Reading through it, what struck me was that there's no real disapproval of the feature itself — @mumoshu twice said he was looking forward to merging it. It stalled on review and eventually got auto-closed with a vague "outdated" note. I'd like to take another honest swing at it.

What this PR adds on top of where #741 ended up:

  • Fixes the explicit zero-value bug. feat: add environments values inheritance #741 leaves mergo.WithOverride in place, so enabled: true in a fallback file silently overwrites enabled: false in the winning file (mergo's isEmptyValue treats false/0/""/[] as empty). I switched the fallback path to a key-presence check so explicit zero values are preserved, with a dedicated test pinning each case.
  • Adds the precedence flip. feat: add environments values inheritance #741 makes later files visible to earlier ones via templates but doesn't flip merge order. The combination is what actually replaces the gotmpl workaround.
  • Smaller schema surface — one new field, no new list type.

On the alternative shape

I considered going with a separate sibling list to dodge the "values: gets a strategy switch" concern @mumoshu raised in #741:

environments:
  prod:
    values:
      - cluster-specific.yaml      # unchanged, last-wins
    fallbackValues:                # new field with these semantics
      - shared-defaults.yaml.gotmpl

Why I think this is harder for users

With one list and a strategy field, the rule is "read top-to-bottom; for fallback, earlier wins." That's it. With two parallel lists, a reader has to hold several questions in their head at once that the schema doesn't answer:

  • Which list wins when the same key appears in both? Is it always values: over fallbackValues:, or does it depend on order somehow?
  • Within fallbackValues:, what's the order? First-wins (matching the field name) or last-wins (matching the existing values: convention)?
  • Does fallbackValues: get processed as a continuation of values:, or as its own scope that's then layered under values: as a whole?
  • Do cross-file template references work the same in both lists, or only inside fallbackValues:?

Each of those has a reasonable answer, but you have to remember the answer for each. With the strategy-field shape, those questions don't arise — there's just one list with one rule.

The strategy field is also in the manifest, declarative, and explicit, so the same helmfile.yaml always renders the same way regardless of any external state. That's the property @mumoshu was protecting in #741 (no runtime flags changing manifest interpretation), and this shape preserves it.

@mumoshu @yxxhero @zhaque44 — would appreciate a review when you have time. Happy to iterate on naming or scope.

@dschmidt dschmidt force-pushed the feat/environment-merge-strategy-fallback branch 4 times, most recently from 1868ee6 to df4b7d9 Compare May 6, 2026 17:23
@yxxhero yxxhero requested a review from Copilot May 6, 2026 23:36

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

This PR adds an opt-in mergeStrategy field to environments.<name> that allows flipping environment values: precedence to “first-file-wins” (fallback) while also enabling later .gotmpl values files to reference accumulated values from earlier files via .Values.

Changes:

  • Introduces MergeStrategyOverride / MergeStrategyFallback and threads mergeStrategy through environment values loading.
  • Implements fallback merging using maputil.MergeMaps to preserve explicit non-nil zero values (e.g., false, 0, "", []) from earlier files.
  • Adds documentation and extensive unit tests + testdata covering fallback semantics and template visibility.

Reviewed changes

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

Show a summary per file
File Description
pkg/state/state.go Adds exported mergeStrategy constants.
pkg/state/environment.go Adds EnvironmentSpec.MergeStrategy field and documents behavior.
pkg/state/envvals_loader.go Adds mergeStrategy validation, fallback merge path, and fallback template-context enrichment.
pkg/state/create.go Threads mergeStrategy from EnvironmentSpec into values loading.
pkg/app/desired_state_file_loader.go Updates calls to LoadEnvironmentValues with new parameter.
pkg/state/envvals_loader_test.go Adds comprehensive tests for fallback/override/default behavior and invalid values.
pkg/state/testdata/mergestrategy/* New fixtures for chaining, zero/nil behavior, and gotmpl cross-file visibility.
docs/values-and-merging.md Documents mergeStrategy: fallback behavior and examples.
docs/environments.md Documents environment-level mergeStrategy usage and links to details.

Comment thread pkg/state/create.go
Comment thread pkg/state/environment.go Outdated
Comment thread docs/values-and-merging.md Outdated
Comment thread docs/environments.md Outdated
@dschmidt dschmidt force-pushed the feat/environment-merge-strategy-fallback branch from df4b7d9 to d48426e Compare May 7, 2026 06:09
@dschmidt

dschmidt commented May 7, 2026

Copy link
Copy Markdown
Contributor Author

We don't need to do it now, but should the need arise we can also use yaml tags like !override or !reset to prevent fallbacks from later specified files.

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 19 out of 19 changed files in this pull request and generated 2 comments.

Comment thread pkg/state/envvals_loader.go Outdated
Comment thread pkg/state/create.go
@dschmidt dschmidt force-pushed the feat/environment-merge-strategy-fallback branch from d48426e to 39a0398 Compare May 7, 2026 08:59
@yxxhero yxxhero requested a review from Copilot May 7, 2026 09:07

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 21 out of 21 changed files in this pull request and generated 1 comment.

Comment thread pkg/state/envvals_loader.go
@dschmidt dschmidt force-pushed the feat/environment-merge-strategy-fallback branch from 39a0398 to 7f7dbeb Compare May 7, 2026 09:35
dschmidt added 6 commits May 7, 2026 21:01
Introduces a per-environment mergeStrategy with valid values "override"
(default, current behavior) and "fallback". This commit only adds the
field, the constants, and a parse-time validator; the loader still
ignores the value, so behavior is unchanged.

Subsequent commits thread the value through the values loader and
implement the fallback semantics.

Signed-off-by: Dominik Schmidt <[email protected]>
Adds a mergeStrategy string parameter to LoadEnvironmentValues,
loadValuesEntries, and mapMerge so the value can flow from
EnvironmentSpec down to the merge call site. Behavior is unchanged in
this commit; mapMerge ignores the strategy and the next commit
implements the fallback semantics.

Top-level state.DefaultValues and the --state-values-file/-set loaders
are passed an empty strategy ("") since they have no per-environment
spec to consult and stay on the default override behavior.

Signed-off-by: Dominik Schmidt <[email protected]>
Adds a hand-rolled fallbackDeepMerge that, unlike mergo, preserves
keys present in the destination even when their value is the zero
value (false, 0, "", nil, empty list/map). mapMerge dispatches to it
when mergeStrategy == "fallback"; "override" and the empty default
keep using mergo with WithOverride so existing behaviour is unchanged.

Validation lives at the entry of LoadEnvironmentValues so a single
chokepoint guards the field. Invalid values produce an error naming
both the offending value and the valid options.

Tests cover: first-file-wins precedence, gap filling, deep nested
merge, three-file chains, explicit zero-value preservation (the case
naïve mergo gets wrong), explicit nil preservation, inline map
entries, override regression, default-equals-override equivalence,
and invalid-strategy errors.

Signed-off-by: Dominik Schmidt <[email protected]>
Under mergeStrategy: fallback, .gotmpl values files can now reference
values from earlier files in the same `values:` list via .Values
(e.g. `service.domain: "service.{{ .Values.cluster.domain }}"`).

The accumulated result is layered under env.GetMergedValues so env
defaults, env values, and CLI overrides still win on overlap. Override
mode keeps the historical template context — unchanged — so this is
strictly opt-in via the mergeStrategy field.

Together with the precedence flip from the previous commit, this lets
users replace the brittle two-stage `merged-values.yaml.gotmpl`
workaround with native helmfile syntax.

Tests cover the headline cross-file template reference case and pin
the override-mode contract that prior-file values stay invisible.

Signed-off-by: Dominik Schmidt <[email protected]>
Adds a new section to values-and-merging.md describing the override vs
fallback strategies, the explicit-zero-value preservation guarantee,
and the cross-file template reference behavior. Adds a brief pointer
to environments.md so users land on the new field from the
environment values discussion.

Signed-off-by: Dominik Schmidt <[email protected]>
Replaces the hand-rolled fallbackDeepMerge with a single call to
maputil.MergeMaps, swapping its arguments so the accumulated dest wins
over the new src file. Same first-file-wins semantic, fewer lines, and
the fallback path now inherits the same slice merge strategies the
rest of helmfile already uses.

The one observable behavior shift is for explicit nil values: under
fallback, nil in an earlier file no longer 'wins' over a non-nil value
in a later file — instead it falls through (matching MergeMaps' rule
that nil from the override side only fills missing keys). This is
internally consistent: nil-overwrites is an mergo.WithOverride quirk
that lives only in the override path. The renamed test
NilFallsThroughToFallback pins the new behavior with a comment
referencing the contrast with override mode (Issue1154).

Signed-off-by: Dominik Schmidt <[email protected]>
@yxxhero yxxhero force-pushed the feat/environment-merge-strategy-fallback branch from 7f7dbeb to d7803b6 Compare May 7, 2026 13:01
@yxxhero yxxhero merged commit 0139304 into helmfile:main May 7, 2026
16 checks passed
@dschmidt

dschmidt commented May 7, 2026

Copy link
Copy Markdown
Contributor Author

oh wow, I didnt expect the PR to get merged so quickly - thanks a lot! <3

When can we expect a release with this feature?

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.

3 participants