vmware-tanzu/helm-charts

Separate CRD into a new chart

Open

#421 opened on Nov 24, 2022

 (9 comments) (11 reactions) (0 assignees)Mustache (404 forks)auto 404
breaking changegood first issuevelero

Repository metrics

Stars
 (312 stars)
PR merge metrics
 (PR metrics pending)

Description

Describe the problem/challenge you have

According to the helm chart best practice, separating CRD into a dedicated chart is a good way to manage the lifecycle of the CRD.

We have much community feedback on the existing CRD upgrade has some limitations. Currently, the CRD upgrade is in the last step of the helm upgrade, by using an upgrading job to update the cluster CRDs which is incorrect because the CRD should be installed first and then upgrading the CRs.

Here are the issues we should consider separating CRD into a new chart.

Describe the solution you'd like

Separate velero CRD into a new chart.

However, this would breaking the backward-compatible because once we separate two helm charts during helm upgrade, the steps are:

  • The user with existing helm chart x.y.z within the cluster.
  • helm install/upgrade the velero-crd chart.
  • helm upgrade the velero chart. Because the crds/ folder will be removed from the velero chart, the CRDs will be removed during this step.

Therefore,

  1. We need to mention that the user should uninstall the old velero helm chart and reinstall the new velero helm chart in the doc
  2. It's a breaking change, so bumping the chart major version is required

Contributor guide