BEFORE YOU START

Comparing values.yaml with values-production.yaml is not enough when a release uses several -f flags. Helm applies values files from left to right, so the comparison must preserve the exact order and inspect rendered manifests rather than only raw YAML.

FOLLOW ALONGOpen the live Helm Debugger workspace
01

Import the complete Chart

Choose a Chart archive or folder so helpers, subdirectories, schemas, and templates are available. A pasted template without its context can produce misleading errors.

EXAMPLE
Chart.yaml
values.yaml
values-region.yaml
values-production.yaml
templates/
02

Recreate each override stack

Add override files to Baseline and Target in the same left-to-right order used by the release command. Both sides already inherit the Chart's values.yaml.

EXAMPLE
baseline: values-staging.yaml
target: values-region.yaml → values-production.yaml
03

Inspect field provenance

Open Effective Values to see the final value, its source file, and earlier files it replaced. Click a source badge to return to that file before editing.

EXAMPLE
service.type = LoadBalancer
source: values-production.yaml
04

Compare rendered resources

Render both sides, then review resources classified as changed, added, removed, or unchanged. This catches template conditionals and computed names that a plain values diff cannot see.

EXAMPLE
Deployment/acme-web: replicas 2 → 3
Service/acme-web: ClusterIP → LoadBalancer

Equivalent Helm commands

The order below is intentional: later files win when the same compatible path is assigned again.

bash
helm template demo ./chart \
  -f values-region.yaml \
  -f values-production.yaml \
  --namespace default

What this check does not prove

A successful local render does not run admission webhooks, confirm installed CRDs, check live cluster state, or guarantee a rollout. Use the same Helm version as production and follow with a server-side dry run in the intended cluster.

Key takeaways
  • Values file order must match the real Helm command.
  • Field provenance explains which file supplied the final value.
  • Rendered resource diff reveals changes caused by templates.
  • The target cluster remains the authoritative validation environment.