<p>Can I have multiple <code>values.yaml</code> files in a Helm chart?</p>

<p>Something like <code>mychart/templates/internalValues.yaml</code>, <code>mychart/templates/customSettings.yaml</code>, etc?</p>

<p>Accessing properties in a <code>values.yaml</code> file can be done by <code>{{ .Values.property1 }}</code>.
How would I reference the properties in these custom <code>values.yaml</code> files? </p>

James Isaac
<p>Yes, it's possible to have multiple values files with Helm.  Just use the <strong><code>--values</code></strong> flag (or <strong><code>-f</code></strong>).</p>
<p>Example:</p>
<pre><code>helm install ./path --values ./internalValues.yaml --values ./customSettings.yaml
</code></pre>
<p>You can also pass in a single value using <strong><code>--set</code></strong>.</p>
<p>Example:</p>
<pre><code>helm install ./path --set username=ADMIN --set password=${PASSWORD}
</code></pre>
<hr />
<p><em><a href="https://helm.sh/docs/chart_best_practices/values/#consider-how-users-will-use-your-values" rel="noreferrer">From the official documentation</a>:</em></p>
<blockquote>
<p>There are two ways to pass configuration data during install:</p>
</blockquote>
<p>--values (or -f): Specify a YAML file with overrides. This can be specified multiple times and the rightmost file will take precedence</p>
<blockquote>
</blockquote>
<p>--set (and its variants --set-string and --set-file): Specify overrides on the command line.</p>
<blockquote>
</blockquote>
<p>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.</p>
