{
  "slug": "helmfile-environment-values-support-mergestrategy-fallback-2bb408d47c8f",
  "title": "helmfile environment values support mergeStrategy: fallback",
  "tools": [
    "helmfile"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-05-11T14:33:42.000Z",
  "announced_at": "2026-05-11T14:33:42.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When an environment loads shared defaults and cluster-specific values, set `mergeStrategy: fallback` so earlier files take precedence and later files fill missing keys.",
    "examples": [
      "environments:\n  production:\n    mergeStrategy: fallback\n    values:\n      - cluster-specific.yaml\n      - shared-defaults.yaml.gotmpl"
    ],
    "gotchas": [
      "Version: v1.5.1",
      "mergeStrategy: Set to `fallback` to make earlier environment values files take precedence. The default is `override` behavior.",
      "values (required): Ordered list of environment values files to merge.",
      "values[] (required): File paths in order: under `fallback`, explicit non-null values in earlier files are preserved, including `false`, `0`, empty strings, and empty lists; maps are deep-merged so later files can add nested keys.",
      "The fallback strategy is opt-in per environment.",
      "Explicit non-nil values in earlier files, including false, 0, empty strings, and empty lists, are preserved against later files.",
      "Maps are deep-merged, allowing later files to add nested keys."
    ]
  },
  "why_it_matters": "Configure an environment so cluster-specific values take precedence over shared defaults when loading multiple values files.",
  "before": "By default, later files listed under `values:` override earlier files.",
  "sources": [
    "https://github.com/helmfile/helmfile/releases/tag/v1.5.1",
    "https://github.com/helmfile/helmfile/pull/2578",
    "https://github.com/helmfile/helmfile/blob/v1.5.1/docs/environments.md"
  ],
  "rank": 0.98035,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave1-20261014",
    "verdict_id": "wave1-20261014:wave1-20261014-003d32b678a88e13-0:gate",
    "evidence_hash": "620bfbc392d2b95df1d04df24f2f9c776065821fc22057329be90400d135bd7f"
  },
  "review": {
    "draft_hash": "8d7b7b4f2f377e1e27a301ea28eb3420da76e77756addac771728dcecdd0a2b8",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave1-20261014:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.98 >= 0.9; 2 needed) and Jev gave 0.78 (>= 0.6 needed)."
  }
}
