Open chaehni opened 1 year ago
In this project's README, it says:
This is a Helm plugin giving you a preview of what a
helm upgrade
would change. It basically generates a diff between the latest deployed version of a release and ahelm upgrade --debug --dry-run
.
That makes it sound like diff using --dry-run
is the default. Is it not?
EDIT: Later in the README, it seems to contradict itself and agree with you:
Set HELM_DIFF_USE_UPGRADE_DRY_RUN=true to use
helm upgrade --dry-run
instead ofhelm template
to render manifests from the chart.
We realized that the produced diff is incorrect for a
helm upgrade
call if new values have been added to values.yaml.Example:
helm diff upgrade <release> <chart> --reuse-values
- the diff shows the new label asnew_label: testing
This diff is incorrect. With
--reuse-values
the new value in values.yaml should not slip in.helm upgrade <release> <chart> --reuse-values --dry-run
correctly generates the manifest with the labelnew_label: nil
. This is correct, the valuenew_label
does not exist in the original install and since we used--reuse-values
the new base values are ignored.I'm aware that I can tell helm diff to use
--dry-run
to generate the diff via env. But I feel like this should be the default. Forgetting to set the env creates diffs that are incorrect.