Skip to content
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

Move CRDs and apiext to its own helm chart and add it as a dependency #4772

Open
kharf opened this issue Dec 23, 2022 · 1 comment
Open

Move CRDs and apiext to its own helm chart and add it as a dependency #4772

kharf opened this issue Dec 23, 2022 · 1 comment

Comments

@kharf
Copy link

kharf commented Dec 23, 2022

Please describe your use case / problem.
Currently apiext and the CRDs are kind of loosely managed from a helm user perspective. That means that as a helm user I have to manually delete and update the apiext deployment and the CRDs.

Describe the solution you'd like
As a helm user I would expect to maintain only the emissary-ingress helm release, which "ships" its CRDs and the apiext deployment. One solution would be to define the CRDs and apiext in seperate helm charts, which the emissary-ingress helm chart depends on.

Describe alternatives you've considered
Include the CRDs and the apiext deployment directly in the emissary-ingress chart as described here. That would work for the apiext deployment, but upgrading the CRDs would not be supported by it.

Additional context
Part of #4531

@joebowbeer
Copy link

Two approaches are listed here:

https://helm.sh/docs/chart_best_practices/custom_resource_definitions/

Method 1: Let helm Do It For You [crds folder]

Method 2: Separate Charts

I think the complexity is in upgrades to CRDs, which may require converting stored resources:

https://github.com/emissary-ingress/emissary/wiki/design-doc:-Emissary's-CRD-conversion-logic

And as the best practices doc says:

There is no support at this time for upgrading or deleting CRDs using Helm. This was an explicit decision after much community discussion due to the danger for unintentional data loss. Furthermore, there is currently no community consensus around how to handle CRDs and their lifecycle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants