-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Investigate using Bazel to deploy CRDs when using Helm #594
Comments
FYI, this is what we're doing today: https://github.com/actions-runner-controller/actions-runner-controller/blob/cb60c1ec3baed8690d4546dacfdfdc564891e852/Makefile#L88-L89 Can we just change the cp destination to |
🤷 😄 it's worth testing, I'll try to make time to test in minikube. Helm is annoying about it due to data loss concerns, I don't think we are worried about that due to the nature of the project? We'd need the steps to create the infinite loop problem so we can replicate the issue, then try again with the crds packaged in the I guess the problem with that is we can't deploy them conditionally? Some people prefer to wrap their CRDs into their own charts and so we should probably support that as it's a common setup. Would a simple boolean in the values.yaml do the job? I guess it would Tbh I'm not super clear on what the data loss concern is really, would love someone to clear that up so we can figure out if it's a concern for this project |
Ah, that's good point! I somehow forgot about that... So we definitely need some way to "wrap" what we've copied with the |
yeh, I wonder if that alone would be enough! I think it would! |
https://github.com/helm/community/blob/main/hips/hip-0011.md this is the authority on CRDs and Helm, I need to read it and process EDIT Findings from tests:
|
There isn't really a good way of handling this, we are updating the recommended upgrade process as that is the best we can do really. If we did get Helm to do the install and uninstall the CRDs they would: A) Delete everyone's runners during an upgrade which the end user may not expect unless they have a reasonable level of understanding of CRDs |
Problem
Currently due to how CRDs are handled by Helm users can get themselves into situations like #512 if they are not careful about keeping the CRD versions on their cluster aligned with the controller app version.
Solution
CRDs are included in the deploy order of the
templates/
folder in Helm https://github.com/helm/helm/blob/release-3.6/pkg/releaseutil/kind_sorter.go#L31.If we package the CRDs in the
templates/
folder Helm will be happy to perform all CRUD operations on them removing the need for special upgrade instructions and people getting themselves into the infinite runner loop issue.The text was updated successfully, but these errors were encountered: