<p>I am starting to get my arms around using Kubernetes and Helm. Most of it makes perfect sense to me. I am missing one thing though and maybe someone can answer me. Why is there a separate Chart.yaml and values.yaml file? it seems to me that it would make better sense on a helm install command to have one file with a standard name. Asking for some DevOps wisdom.</p>

williamohara
<p><code>Chart.yaml</code> contains metadata about the chart itself: its name, the chart version, a description, and similar details.  In Helm 3 it can contain dependencies as well.</p>
<p><code>values.yaml</code> contains configuration settings for the chart.  This typically includes things like the image repository to pull from, where you want data to be stored, and how to make the service accessible.</p>
<p>When you install the chart, you can use <code>helm install -f</code> to supply an additional YAML file of configuration options that override things in <code>value.yaml</code>, or <code>helm install --set</code> to set a single specific value.  You can't override things in the <code>Chart.yaml</code>.</p>
<p>In the template code, items in <code>Chart.yaml</code> and <code>values.yaml</code> are available in the top-level data items <code>.Chart</code> and <code>.Values</code>, respectively.</p>
