I am creating a chart for a project that has a binary that when executed generates a configuration file in YAML format that looks like this:
---
PARAM_1: value1
PARAM_2: value2
My chart needs to read this file and and load all of its values into environment variables in a container, so I created a variable config
in my values.yaml
file and when the chart is installed I am passing the file content using --set-file
:
helm install <CHART> --set-file config=/path/to/yaml/config/file
Next I create a ConfigMap
withe the value of .Values.config
:
apiVersion: v1
kind: ConfigMap
metadata:
...
data:
{{ .Values.config }}
The problem I am having is that I need to do two things with values of config
:
- prefix all keys with a predefined value (so in the example above I would
MY_APP_PARAM_1
as key) - make sure the values are all string, otherwise the
ConfigMap
will fail
How can I parse the value of .Values.config
in my template as a dict
so that I can use a range
loop do these changes?