helm / helm/helm-mapkubeapis

Is it safe to only update the api version, if the content is different for the new version

Open
#63 3 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
1k
Forks
121
PR merge metrics
No merged PRs in 30d

Description

When moving from one api version to another, we sometimes need to change the content of the yaml definition of the object.
Is it safe from helm's perspective for the `mapkubeapis` plugin to only change the version and not the content?

This was mostly answered in #34 but in a helm dev call there was a mention that the three-way merge could be something to think about with respect to this issue.

For example, in kube 1.22, the `Ingress` resource versions `extensions/v1beta1` and `networking.k8s.io/v1beta1` are removed and we must migrate to `networking.k8s.io/v1`. However, when migrating to the new version, some fields must be changed and some added (https://kubernetes.io/docs/reference/using-api/deprecation-guide/#ingress-v122).

Is it safe for the `mapkubeapis` plugin to ignore those field changes? Could helm's three-way merge logic be affected by a helm manifest that differs from the actual yaml stored in kubernetes?

If there could be issues, we may want to look at using the `kubectl convert` plugin to apply all changes to the helm manifest.
In fact, using the plugin may be interesting regardless as it has the potential to handle every format properly.

@hickeyma I'm hoping you may have an opinion about this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.