k8up
k8up copied to clipboard
Reduce manual migration steps when upgrading K8up
Summary
As a cluster admin using k8up
I want a smooth upgrade experience for k8up
So that I upgrade to new versions of k8up.
Context
In #511 and #509 we changed the names of annotations and of the CRDs. It would be nice if these changes were automatically applied to kubernetes by the operator.
Out of Scope
- Automate it completely.
Further links
- https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#webhook-conversion
Acceptance criteria
- An upgrade to K8up v2 does not require tedious manual intervention.
- Some manual intervention may be tolerated.
Implementation Ideas
Two ideas to explore
- To engineer a conversion webhook, see https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#webhook-conversion (suggested by @ccremer in #511 )
- A new CLI module, e.g.
k8up migrate
, which one can run against its cluster which does all the tedious work.
@ccremer I assume this is obsolete now as v2 has been released quite a while ago?
I don't know how many of our clusters are still running K8up v1 and if that's an issue.
However, we might still consider this issue for K8up v3 if we want to support automatic upgrades. Though I don't know if that is possible with conversion webhook if we completely redesign all CRDs.