.. index:: Configuration; my-values.yaml
.. _my-values.yaml:
``my-values.yaml``
============================================
To deploy your instance, you have to overwrite some global or chart-specific values.
For that, maintain your **own** values file – which will be called ``my-values.yaml`` in the following.
Please create that file outside the upstream :term:`Git` repository of CoCalc OnPrem's HELM charts.
Do not edit the ``values.yaml`` in the upstream repository, because otherwise you end up with merge conflicts, etc.
Also, we recommend using :term:`Git` to keep track of your changes – see :ref:`backup`.
- In ``/cocalc`` is a central ``values.yaml`` file.
It defines the configuration for the sub-charts and some global values.
All parameters are explained in detail inside that file as comments.
- Your configurations will be added *on top* of that file.
It is also read in by default, when you tell helm the location of that chart.
- Feel free to check out the sub-directories in ``./charts`` in case you want to know more about all details.
- After familiarizing with that, **create your own my-values.yaml file**.
This will overwrite the default values with the ones relevant for your setup using the ``-f my-values.yaml`` switch of ``helm`` (ref: `Helm Install `_).
You can call it however you like – just point to it with the ``-f [filename.yaml]`` switch.
- To overwrite values in sub-charts, write the values indented under their ``"sub-chart-name":`` section.
- To define global values, list them in the ``global:`` section.
For example, to configure the :ref:`storage backend `, the chart files are in ``/cocalc/charts/storage/``,
which means these settings come under ``storage:``.
There are also global storage settings used by other charts, which come under ``global.storage:``.
Learn more about :term:`HELM sub-charts and global values`.
.. note::
Regarding YAML, ``global.storage`` in the text above means that these values come under the ``global:`` section in the ``my-values.yaml`` file. In that large indented block is a ``storage:`` section, which is indented even further. The actual values are defined inside that double-indented block.
The ``global:`` section is particularly important, since it – as its name suggests – defines global parameters.
Probably a good starting point is this:
.. literalinclude:: ../_files/my-values.yaml
:language: yaml
:linenos: