Skip to content

Regression in null merging between parent.values and --values #31919

@agoose77

Description

@agoose77

What happened?

Tip

There have been a couple of regressions in null handling, but I think this one is different. I've created a reproducer repo here that shows the regression: https://github.com/agoose77/reproducer-helm-merge-changes

When I template a parent helm chart that defines an as-yet undefined value in the child chart values, passing a --values file that sets this value to null fails to erase it from the child values. i.e. the null is retained:

Image

What did you expect to happen?

In 3.17.0, (see https://github.com/agoose77/reproducer-helm-merge-changes?tab=readme-ov-file#1-overriding-chart-values-in-parent-chart), the null value in the --values argument acts to erase the value altogether from the child values. I expected this to occur.

How can we reproduce it (as minimally and precisely as possible)?

Tip

Requirements: podman, or some other container engine / environment that can provide different Helm binary versions.

Run the demos in this repository README: https://github.com/agoose77/reproducer-helm-merge-changes?tab=readme-ov-file#1-overriding-chart-values-in-parent-chart

Helm version

Details
$ helm version
4.1.1

Kubernetes version

NA

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions