-
Notifications
You must be signed in to change notification settings - Fork 282
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
Helm chart upgrades #95
Comments
Hey, do you have in mind recreating chart with updated values.yaml? |
I have in mind not changing the values.yaml and only modifying the chart version installed. An example |
Yes, makes sense.
I guess both questions could be addressed with additional line in Keel config that lies in values.yaml with something like And event type should be slightly refactored to be more dynamic so we could have both registry and chart update events. Does this sound reasonable? |
You would have a few options. One option would be to poll the chart repository for updates. Tiller also contains information for the release and what chart+version that release is part of, so it would be possible. If interested I may have some time to help out. I currently have something that does the above functionality using the helm binary, but the the tiller grpc code. My current process is simplistic.
In the keel world I imagine a new notification type that polls helm repositories or a webhook. I'm new to keel so feel free to let me know if my assumptions are off base. |
I am looking for solution as @sstarcher describes. Does anybody know if there is something like that? |
This is still a blocker for us |
This is something that we would really need as well in order to get into production with keel. One thought is that there can be a separate watcher on the helm repo, such that if a chart gets updated, the chart is what gets the Authentication would be key for us as well here (the helm repos are private) This could be separate to the subscription to the image updates and fit into your existing model and architecture (I think). |
Handling this via Keel would mean that, instead of one single source of truth for a deployment, one revision would be annotated with configuration for the following ones. This seems less than ideal to me. (What happens if I annotate revision x to pin the deployment to a specific version range of the chart, but then roll back to x-1?) I believe the right way to do this is by running some kind of Operator that watches (a) CRs representing application deployments with values and (b) their repos, performing all lifecycle operations (installation/removal/upgrade) as needed. Maybe it would then make sense to have a Keel version that watches Helm repos and updates CRs representing deployments, but leaves the actual upgrade to the controller that handles those CRs—e.g. fluxcd/helm-operator, giantswarm/chart-operator, or even Chart-specific Operators that don't support watching a repo on their own. But I really don't think Keel should become an incomplete Operator that only supports the upgrade step of a Helm deployment's lifecycle. |
I see keel currently supports updating the values in a helm chart to bump the version of the docker container. It would be useful if keel could upgrade the actual chart itself as upgrading the docker container works in some cases, but you lose other options like running init jobs from helm chart upgrades.
The text was updated successfully, but these errors were encountered: