Skip to content

Feature request: --reset-then-reuse flag for upgrade #8085

@omkensey

Description

@omkensey

Currently Helm implements two ways of handling values when updating an existing release: reusing the existing user-supplied values if new ones are not supplied, or not reusing them if new ones are supplied. However, the way these are implemented and the way --reuse-values and --reset-values change that default behavior is sometimes confusing; see, for example:

https://medium.com/@kcatstack/understand-helm-upgrade-flags-reset-values-reuse-values-6e58ac8f127e

(And see one of the commenters pointing out that even after this article-length treatment of the subject, the writer missed an important subtlety!)

What I think would be nice for users is a flag that means "take the existing chart's values, merge these new values I am giving you explicitly, and do not update values from the chart unless they are new to the chart since the version stored in the target release". (Alternately one can think of this as "--reset-values followed by --reuse-values followed by user-supplied --set*values")

This seems like it would be less confusing in the majority of cases: if I give a value, it is updated; if I don't give it and it exists in the release, it is reused; if I don't give it and it doesn't exist in the release, it is set from the updated chart. It would eliminate the case of "I did not specify this value as part of my upgrade but it changed anyway" which appears to be where much of the confusion strikes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featurehelp wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.keep openv3.xIssues and Pull Requests related to the major version v3

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions