Discussion concerning better support around changing API versions
Recently #2425 (closed) generated some discussion and thoughts how to better support Kubernetes objects across multiple Kubernetes versions where the apiVersion
gets updated between the Kubernetes versions or perhaps deprecated with a release of Kubernetes.
Key questions:
- Is using Helm's
.Capabilities.KubeVersion
the best way to handle detection/managing differences in API versions? - There is also
.Capabilities.APIVersions
, but that does not seem to be tied directly to specific Kubernetes objects. Can it be used for detecting whichapiVersion
to support?- Documentation also shows
.Capabilities.APIVersions.Has
to query for a specific API, but it does not seem to allow querying a specific Kubernetes object so unknown how useful it will be.
- Documentation also shows
- What will be the best approach to handling differences when there are mostly compatible but slightly subtle differences in the APIs?
- Are there any good rules of thumb to follow to choose sane defaults or how to better support a change in an API?