Can I have multiple values.yaml files for Helm

后端 未结 3 1767
夕颜
夕颜 2021-01-31 08:03

Can I have multiple values.yaml files in a Helm chart?

Something like mychart/templates/internalValues.yaml, mychart/templates/customSett

相关标签:
3条回答
  • 2021-01-31 08:43

    Yes, it's possible to have multiple values files with Helm. Just use the --values flag (or -f).

    Example:

    helm install ./path --values ./internalValues.yaml --values ./customSettings.yaml
    

    You can also pass in a single value using --set.

    Example:

    helm install ./path --set username=ADMIN --set password=${PASSWORD}
    

    From the official documentation:

    There are two ways to pass configuration data during install:

    --values (or -f): Specify a YAML file with overrides. This can be specified multiple times and the rightmost file will take precedence

    --set (and its variants --set-string and --set-file): Specify overrides on the command line.

    If both are used, --set values are merged into --values with higher precedence. Overrides specified with --set are persisted in a configmap. Values that have been --set can be viewed for a given release with helm get values . Values that have been --set can be cleared by running helm upgrade with --reset-values specified.

    0 讨论(0)
  • 2021-01-31 08:56

    Helm by default will only use the values.yaml file in the root directory of your chart.

    You can ask it to load additional values files when you install. For instance, if you have any settings that point to different databases in different environments:

    helm install . -f values.production.yaml
    

    You could also get a similar effect by bundling additional settings as a file, and asking Helm to read the bundled file. Helm provides an undocumented fromYaml template function which can parse the file, so in principle you can do something like

    {{- $v := $.Files.Get "more-values.yaml" | fromYaml }}
    foo: {{ $v.bar }}
    
    0 讨论(0)
  • 2021-01-31 09:03

    Just to update : As per the current official documentation --set & --values will not be merged

    To override values in a chart, use either the '--values' flag and pass in a file or use the '--set' flag and pass configuration from the command line, to force a string value use '--set-string'. In case a value is large and therefore you want not to use neither '--values' nor '--set', use '--set-file' to read the single large value from file.

    Also :

    You can specify the '--values'/'-f' flag multiple times. The priority will be given to the last (right-most) file specified.

    0 讨论(0)
提交回复
热议问题