-
Notifications
You must be signed in to change notification settings - Fork 64
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
Support lifecycle hooks #124
base: main
Are you sure you want to change the base?
Conversation
@willholley any feedback? In case the use case of the PR isn't clear, here's a more concrete example: Let's say you need to iterate through a list of values to create admin users, or some other dynamic process after your couchdb instance is stood up. This PR enables you to do that by providing a template to the statefulset that will allow you to populate those values. Sound useful? |
Thanks for the PR @yekibud. I don't see any issues with this so can merge once it's rebased, tests pass etc. |
0a30d65
to
cfc3355
Compare
@willholley Thanks. Rebased and updated my branch. I get the same error I reported for |
What this PR does / why we need it:
Adds support for container lifecycle hooks which serve different use cases than helm hooks and can be more reliable for similar use cases (e.g. for changes outside of helm management like a pod or statefulset being deleted).
Special notes for your reviewer:
My use case requires a sophisticated postStart hook with variable interpolation from a parent chart, but I figured many users of this chart may not use it as a subchart, so I included the option to pass in simple container hooks via values, as well. I tried to make this opaque to the user so they could just use
.Values.lifecycle
in both cases, but I couldn't figure out how to get helm to differentiate between a template and a values map since both aremap
types. So I wound up supporting both use cases with.Values.lifecycle
and.Values.lifecycleTemplate
.Furthermore, following the same pattern, I also added
.Values.extraEnv
and.Values.extraEnvTemplate
to support passing secrets to the hooks.Checklist
I get the following error when trying to run
make test
. Not sure if this is an existing issue, but it looks unrelated to the changes in this PR.