-
Notifications
You must be signed in to change notification settings - Fork 243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Install CRDs from a subchart instead of using Helm 3 crds directory #1637
Comments
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
@cmontemuino thanks for the proposal. I like the idea 👍 Helm 3 CRD management is b0rken if you ask me as an end-user. Would you be wiling to work on this? |
@marquiz we once talked about unifying node-feature-dscovery and node-feature-discovery-operator repos. If this is something that we might start doing in a near future, that IMHO this issue might better be implemented after unification. |
/milestone v0.18 |
ROBLEM: Helm 3 only install CRDs during the chart installation. Both deletes and upgrades are not handled by Helm 3. It requires manual intervention. Additionally, it is not possible to template CRDs. This is especially important when installing the chart with an Argo CD application. SOLUTION: add the possibility to install the CRDs from a dependency subchart. This allows clean uninstall, possibility for automated upgrades, and templating. This feature comes disabled by default. closes kubernetes-sigs#1637 Signed-off-by: cmontemuino <1761056+cmontemuino@users.noreply.github.com>
Initial PR: #1922 I don't know exactly how the documentation is supposed to be authored, so I've updated with the minimal details possible. |
PROBLEM: Helm 3 only install CRDs during the chart installation. Both deletes and upgrades are not handled by Helm 3. It requires manual intervention. Additionally, it is not possible to template CRDs. This is especially important when installing the chart with an Argo CD application. SOLUTION: add the possibility to install the CRDs from a dependency subchart. This allows clean uninstall, possibility for automated upgrades, and templating. This feature comes disabled by default. closes kubernetes-sigs#1637 Signed-off-by: cmontemuino <1761056+cmontemuino@users.noreply.github.com>
What would you like to be added:
Depart away from Helm 3 way to install CRDs and use a subchart for it.
Why is this needed:
Moving CRDs to a chart solves several issues: clean uninstall, possibility for upgrades, templating.
Motivation and Context
My main motivation is to have a better experience when managing this operator with Argo CD. That said, moving away from Helm 3 approach to install CRDs might be helpful in other scenarios too. I'm posting the full rationale below.
Helm 3 does not manage CRDs (see https://helm.sh/docs/chart_best_practices/custom_resource_definitions/).
helm uninstall
won't remove CRDs, andhelm updgrade
won't upgrade them. Manual intervention is required with the current setup.crds
folder are not included into the helm release.crds
folder.The following comes from helm best practices around CRDs:
ref: https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#method-1-let-helm-do-it-for-you
Another alternatively, which is what I propose and comes from Helm page:
ref: https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#method-2-separate-charts
I'm completely fine to open a PR with the required refactoring, without impacting current installations.
The text was updated successfully, but these errors were encountered: