Previewing Changes with helm diff
Surfacing the impact of an upgrade in a PR.
Previewing Changes with helm diff is a free Helm Academy lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Helm Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
See the Change Before You Ship It
Upgrading blind is scary. The helm diff plugin shows exactly what an upgrade would add, change, or remove before you touch the cluster. 👀
diff Is a Plugin, Not Built In
Unlike lint or template, helm diff ships as a community plugin. You install it once, and it then behaves like any native Helm subcommand.
helm plugin install https://github.com/databus23/helm-diffCompare a Pending Upgrade
Run helm diff upgrade with the same release name and chart you plan to deploy. It compares the live release against what the new manifests would produce.
helm diff upgrade myapp ./mychart -f values-prod.yamlReading the Color-Coded Output
Added lines show in green, removed lines in red, just like a Git diff. You instantly see that an image tag bumped or a replica count changed.
Why a Plain Apply Hides This
A normal helm upgrade just applies changes and reports success. The diff plugin reveals the intent first, so surprises are caught in review.
Post the Diff in a Pull Request
Capture the diff output and attach it as a PR comment. Reviewers approve the actual infrastructure change, not just the values file edit.
helm diff upgrade myapp ./mychart > change.txtFail the Build on Unexpected Drift
Use --detailed-exitcode so the command returns a special exit code when changes exist. CI can then require a human to acknowledge the diff.
helm diff upgrade myapp ./mychart --detailed-exitcodeDiff Against a Specific Revision
The helm diff revision subcommand compares two stored revisions of a release, so you can audit what really changed between deploys.
helm diff revision myapp 3 4Preview a Brand-New Install
For a release that does not exist yet, pass --allow-unreleased so diff treats everything as newly added rather than erroring out.
helm diff upgrade myapp ./mychart --allow-unreleasedHide Noisy Fields
Kubernetes injects fields you do not care about. Use --suppress or normalization flags so the diff focuses on meaningful changes only.
diff Reuses Your kubeconfig
Because it must read the live release, helm diff connects to the cluster using the same kubeconfig context as kubectl and helm itself.
Quick Check
You want CI to flag when an upgrade would actually change resources. Which flag helps?
Recap: Preview Then Apply
Install the helm diff plugin, diff every upgrade, and surface the result in your PR. You ship changes you have actually seen and approved. ✅
Frequently asked questions
Is the “Previewing Changes with helm diff” lesson free?
Yes — the full text of “Previewing Changes with helm diff” is free to read here on the web, and the Helm Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Helm Academy course, upgrade to CoddyKit PRO.
What will I learn in “Previewing Changes with helm diff”?
Surfacing the impact of an upgrade in a PR. You practise Helm Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Helm Academy?
No prior experience is required. Helm Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Previewing Changes with helm diff” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Helm Academy lesson?
Yes. Every Helm Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Lint and Template Gates in CI
- Previewing Changes with helm diff
- Automated Deploys with upgrade --install --atomic
- Publishing Charts from a Release Job