.. _understand-helm: Understanding helm =================== See also the official `helm documentation `__. This page is meant to explain a few concepts directly relevant when installing wire-server helm charts. .. _understand-helm-overrides: Overriding helm configuration settings ------------------------------------------ Default values ^^^^^^^^^^^^^^ Default values are under a specific chart's ``values.yaml`` file, e.g. for the chart named ``cassandra-ephemeral``, this file: `charts/cassandra-ephemeral/values.yaml `__. When you install or upgrade a chart, with e.g.:: helm upgrade --install my-cassandra wire/cassandra-ephemeral Then the default values from above are used. Overriding ^^^^^^^^^^^ Overriding parts of the yaml configuration can be achieved by passing ``-f path/to/override-file.yaml`` when installing or upgrading a helm chart, like this: Create file my-file.yaml: .. code:: yaml cassandra-ephemeral: resources: requests: cpu: "2" Now you can install that chart with a custom value (using 2 cpu cores):: helm upgrade --install my-cassandra wire/cassandra-ephemeral -f my-values.yaml Sub charts ^^^^^^^^^^^ If a chart uses sub charts, there can be overrides in the parent chart's ``values.yaml`` file, if namespaced to the sub chart. Example: if chart ``parent`` includes chart ``child``, and ``child``'s ``values.yaml`` has a default value ``foo: bar``, and the ``parent`` chart's ``values.yaml`` has a value .. code:: yaml child: foo: baz then the value that will be used for ``foo`` by default is ``baz`` when you install the parent chart. Note that if you ``helm install parent`` but wish to override values for ``child``, you need to pass them as above, indented underneath ``child:`` as above. Multiple overrides ^^^^^^^^^^^^^^^^^^^^ If ``-f `` is used multiple times, the last file wins in case keys exist multiple times (there is no merge performed between multiple files passed to `-f`). This can lead to unexpected results. If you use multiple files with `-f`, ensure they don't overlap.