-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
feat(manager/kustomize): Support inflating helm charts #34277
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
I've run this on a repository with two example kustomization.yaml files, one with "regular" helm charts and one with OCI chart: https://github.com/micke/renovate-kustomize-artifacts The resulting "regular" helm chart PR: micke/renovate-kustomize-artifacts#15 A side effect of having the helm charts inflated is that renovate manages updates for sub-charts and images in these inflated charts. |
Would be great to get another review on this! |
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
Changes
helmGlobals
options from kustomization files to support custom destination for inflated helm charts.Context
Closes #14137
The helm charts will be inflated if any of the following is true:
currentVersion
is inflated, ORkustomizeInflateHelmCharts
postUpdateOptions
is enabled.If the
currentVersion
is inflated then they will be deleted.If the chart is already inflated then Renovate won't try to inflate them again.
I decided to accomplish this by directly interfacing with helm commands to inflate the charts by calling
helm add
instead of relying on usingkustomize build
to have kustomize inflate the charts.I took this approach because i've seen setups where a kustomization might need pre-processing to be able to be built, a common example of this might be encrypted secrets, where the secrets referenced in the kustomization need to be decrypted before using
kustomize build
.I've tried to structure the code so that it would work when a dependency is upgraded but i also envision a scenario where Renovate could be used to inflate existing charts used in kustomize kind of like how Renovate today can generate a PR to pin docker digests with a "Pin dependencies" PR when using
docker:pinDigests
.But i'm not yet comfortable enough with the codebase to dive deeper into what it would take to make that a possibility, so i would greatly appreciate guidance on that.
Documentation (please check one with an [x])
How I've tested my work (please select one)
I have verified these changes via: