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 environment variable replacements during helm package #3198
Comments
Good morning, thanks for the suggestions! It seems that I might be able to put them into good use and get rid of the custom workaround. For the Docker tag, the For the Chart version, I think actually The idea is to take the version out of In theory everything should work fine, thanks for your help! |
It would be great if the command "helm package" is able to handle environment variables inside yaml files.
For example, consider the following Chart.yaml:
When running APP_VERSION=1.0.1 helm package, this should generate a tgz file in which the Chart.yaml will have gone through environment substitution (so we'll have
version: 1.0.1
).The same should be supported for all yaml files. The main use case is to dynamically specify the Docker image tag in
values.yaml
:This gets really handy when doing continuous delivery using Helm:
While implementing this in helm package is something that I could even manage by myself, I don't know if this fits the overall architecture of helm (or if there is an alternative to this).
We currently have a workaround in-place inspired by this repo: https://github.com/samsung-cnct/chart-logging - here the pre-processing of environment variables is done with extra files. Chart.yaml has a pre-process template Chart.yaml.in. Before packaging the chart in the build server, Chart.yaml.in is used to generate the actual Chart.yaml. This works but it is an extra custom step (would be great if Helm had this out of the box) and it means you need to maintain two almost identical files.
The text was updated successfully, but these errors were encountered: