helmfile/pkg/state
yxxhero 38e27ee439
fix: include release values in .Values for patch template rendering (#2556)
* fix: include release values in .Values for jsonPatches/strategicMergePatches/transformers gotmpl rendering

Before this fix, .Values in patch template files only contained environment
values, not the release's own values. This meant references like
{{ .Values.ingress.enabled }} would fail when ingress.enabled was set in
the release's values: file rather than environment values.

Now patch gotmpl files see .Values as merged(environment values, release values),
matching user expectations that values defined in the release should be
accessible in conditional patches.

Fixes #1904

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

* test: add more tests for resolveReleaseValues, renderValuesFileToBytesWithData, and generateTemporaryReleaseValuesFilesWithData

Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/5da5c9d8-7464-4146-84b5-1433ed6193f3

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

* test: simplify newTestHelmStateWithFiles by removing empty cleanup func

Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/5da5c9d8-7464-4146-84b5-1433ed6193f3

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

* fix: remove always-constant basePath param from newTestHelmStateWithFiles to fix unparam lint error

Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/b4a669cb-692c-4ca6-a68b-1b04a062b989

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

* fix: address c66017c review comments - error messages, defer-in-loop, map normalization, test cleanup

Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/44988dd8-1c67-465b-995c-80525a24eb93

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

* refactor: extract generateTemporaryReleaseValuesFilesCore to eliminate duplication; fix temp dir leaks in tests

Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/b254ddda-aa95-4e2f-8dd9-1ce4c40eedb6

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

* fix: remove rendered content from debug log; extract prepareReleaseValuesEntries shared helper

Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/321c6ba5-f835-4afd-be5e-ee790bc6b4a5

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

* fix: compute mergedReleaseTemplateData lazily in PrepareChartify

Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/100b7974-3268-4dc8-be21-12bd82aa2dbb

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

* fix: normalize nested YAML keys in resolveReleaseValues via CastKeysToStrings

Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/d0129d85-9c7d-4a31-966e-fc0b05b74867

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

* fix: use %w for error wrapping in release values resolution

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

---------

Signed-off-by: yxxhero <aiopsclub@163.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-15 16:31:46 +08:00
..
testdata feat(state): add mergeStrategy: fallback for first-file-wins env values (#2578) 2026-05-07 21:50:05 +08:00
chart_dependencies_rewrite_test.go fix: refresh Chart.lock after rewriting file:// dependencies (#2587) 2026-05-19 05:41:41 +08:00
chart_dependency.go fix: deduplicate chart dependencies in helmfile.lock (#2567) 2026-05-01 20:29:24 +08:00
chart_dependency_test.go fix: deduplicate chart dependencies in helmfile.lock (#2567) 2026-05-01 20:29:24 +08:00
create.go feat(state): add mergeStrategy: fallback for first-file-wins env values (#2578) 2026-05-07 21:50:05 +08:00
create_test.go fix: include release values in .Values for patch template rendering (#2556) 2026-06-15 16:31:46 +08:00
diff_error_propagation_test.go feat: add Helm 4 support while maintaining Helm 3 compatibility (#2262) 2025-11-19 07:49:30 +08:00
environment.go feat(state): add mergeStrategy: fallback for first-file-wins env values (#2578) 2026-05-07 21:50:05 +08:00
envvals_loader.go feat(state): add mergeStrategy: fallback for first-file-wins env values (#2578) 2026-05-07 21:50:05 +08:00
envvals_loader_test.go feat(state): add mergeStrategy: fallback for first-file-wins env values (#2578) 2026-05-07 21:50:05 +08:00
helmx.go fix: include release values in .Values for patch template rendering (#2556) 2026-06-15 16:31:46 +08:00
helmx_test.go fix: use --force-replace flag for Helm 4 instead of deprecated --force (#2477) 2026-03-11 21:23:51 +08:00
issue_2297_test.go fix: resolve issues #2295, #2296, and #2297 (#2298) 2025-11-27 22:13:03 +08:00
issue_2355_test.go fix: resolve --validate flag conflict with kustomize in Helm 4 (#2362) 2026-01-18 13:59:55 +08:00
issue_2444_test.go fix: pass --kubeconfig to chartify's helm template call (#2449) 2026-03-03 20:56:46 +08:00
issue_2549_test.go Honor `skipSchemaValidation` during chartification when `forceNamespace` is set (#2550) 2026-04-30 12:30:41 -04:00
issue_2596_test.go fix: normalize dependency chart path before DirectoryExistsAt check (#2598) 2026-05-20 08:44:14 +08:00
oci_chart_lock_test.go fix: skip cache refresh for shared cache paths to prevent race conditions (#2396) 2026-02-14 10:46:05 +08:00
oci_chart_version_test.go fix: support OCI chart digest syntax (@sha256:...) (#2398) 2026-02-12 20:20:43 +08:00
oci_parse_test.go fix: support OCI chart digest syntax (@sha256:...) (#2398) 2026-02-12 20:20:43 +08:00
release.go fix: support array of maps in set/setTemplate values (#2615) 2026-05-31 09:57:35 +08:00
release_error.go Fix misleading `helmfile diff` output (#1174) 2020-04-04 17:39:20 +09:00
release_filters.go fix: skip subhelmfiles when selectors conflict with CLI selectors (#2545) 2026-04-25 17:18:39 +08:00
release_filters_test.go fix: skip subhelmfiles when selectors conflict with CLI selectors (#2545) 2026-04-25 17:18:39 +08:00
release_test.go refactor(yaml): upgrade from gopkg.in/yaml.v2 to v3 (#2039) 2025-05-15 10:21:37 -04:00
run_helm_dep_builds_skip_refresh_test.go fix: local chart with external dependencies error when repos configured (#2433) 2026-02-28 09:23:04 +08:00
selector_test.go feat: add labels for helm release (#1046) 2025-03-30 19:24:41 -04:00
skip_test.go Fix four critical bugs: array merging (#2281), AWS SDK logging (#2270), helmDefaults skip flags (#2269), and OCI chart versions (#2247) (#2288) 2025-11-22 09:27:51 +08:00
state.go fix: include release values in .Values for patch template rendering (#2556) 2026-06-15 16:31:46 +08:00
state_exec_tmpl.go feat: add defaultInherit for automatic release template inheritance (#2600) 2026-05-20 18:21:03 +08:00
state_exec_tmpl_test.go fix: support array of maps in set/setTemplate values (#2615) 2026-05-31 09:57:35 +08:00
state_gogetter_test.go Prevent excessive log in tests 2022-10-11 06:19:32 +09:00
state_kubeversion_test.go 🐛 Fix four critical issues: environment merging, kubeVersion detection, lookup() with kustomize, and Helm 4 color flags (#2276) 2025-11-21 08:32:54 +08:00
state_run.go Drop Helm v2 support (#613) 2023-01-17 09:24:47 +09:00
state_test.go fix: support array of maps in set/setTemplate values (#2615) 2026-05-31 09:57:35 +08:00
storage.go fix: eliminate os.Chdir in sequential helmfiles to fix relative path resolution (#2410) 2026-02-22 09:21:46 +08:00
storage_test.go fix: array merge regression - layer arrays now replace defaults (#2367) 2026-01-18 14:04:54 +08:00
temp.go Replace interface{} by any (#901) 2023-06-16 10:49:05 +09:00
temp_test.go fix: add trackFailOnError option to control kubedog exit code (#2576) 2026-05-04 14:20:03 +08:00
types.go fix: boolean false overrides dropped in multi-document helmfiles (#2527) (#2532) 2026-04-12 09:44:49 +08:00
types_test.go fix: boolean false overrides dropped in multi-document helmfiles (#2527) (#2532) 2026-04-12 09:44:49 +08:00
util.go fix: version path issue (#1344) 2024-02-16 09:08:28 +09:00
util_test.go fix: version path issue (#1344) 2024-02-16 09:08:28 +09:00