GCasC allows configuring Application Settings. It consists of plenty of configuration options, that can be set only through UI or API. They are key to make your GitLab instance work as you intend to.
Settings the structure is flexible. It starts with a root key
settings. Then you provide
configuration options as defined in these docs. For example
settings: elasticsearch: url: http://elasticsearch.mygitlab.com username: elastic_user password: elastic_password
settings: elasticsearch_url: http://elasticsearch.mygitlab.com elasticsearch_username: elastic_user elasticsearch_password: elastic_password
are exactly the same and match
This means you can flexibly structure your configuration Yaml, where a map child keys are prefixed by parent key (here
elasticsearch parent key was a prefix for
password keys). Simply:
settings: prefix1: prefix2: value21: 'value21' value1: 'value1' prefix1_value2: 'value2'
will try to configure following properties:
You only need to follow available Application Settings.
Note: Any invalid keys will be discarded, warn message will be presented, but GCasC will continue execution.
You can adjust your Yamls by splitting them into multiple or injecting environment variables into certain values using
!env directives respectively. Example is shown below:
settings: elasticsearch: !include config/elasticseach.yml terms: !include tos.md
settings.elasticsearchis injected from file under
./config/elasticsearch.ymlpath. Its configuration may look like this:
url: http://elasticsearch.mygitlab.com username: !env ELASTICSEARCH_USERNAME password: !env ELASTICSEARCH_PASSWORD
Note that here also
ELASTICSEARCH_PASSWORDare used to inject username and password from environment variables
settings.termsis injected from