feat(config): enable strict config-check before deploying
[arvados-formula.git] / arvados / files / default / config.tmpl.jinja
1 ---
2 ########################################################################
3 # File managed by Salt at <{{ source }}>.
4 # Your changes will be overwritten.
5 #
6 # Please check https://doc.arvados.org/master/admin/config.html for
7 # documentation about the parameters configured here.
8 ########################################################################
9 {%- if arvados.release == 'development' %}
10 # (Experimental) Restart services automatically when config file
11 # changes are detected. Only supported by `arvados-server boot` in
12 # dev mode.
13 AutoReloadConfig: {{ arvados.auto_reload_config }}
14 {%- endif %}
15
16 Clusters:
17   {{ arvados.cluster.name }}:
18
19     SystemRootToken: {{ arvados.cluster.tokens.system_root | yaml_encode }}
20     ManagementToken: {{ arvados.cluster.tokens.management | yaml_encode }}
21
22     API:
23     {%- if 'API' in arvados.cluster %}
24       {{ arvados.cluster.API | default('') | yaml(False) | indent(6) }}
25     {%- endif %}
26
27     Collections:
28       BlobSigningKey: {{ arvados.cluster.secrets.blob_signing_key | yaml_encode }}
29     {%- if 'Collections' in arvados.cluster %}
30       {{ arvados.cluster.Collections | yaml(False) | indent(6) }}
31     {%- endif %}
32
33     TLS:
34       Certificate: {{ arvados.cluster.tls.certificate | yaml_encode }}
35       Key: {{ arvados.cluster.tls.key | yaml_encode }}
36       Insecure: {{ arvados.cluster.tls.insecure }}
37
38     Workbench:
39       SecretKeyBase: {{ arvados.cluster.secrets.workbench_secret_key | yaml_encode }}
40       SiteName: {{ arvados.cluster.name | upper }}
41     {%- if 'Workbench' in arvados.cluster %}
42       {{ arvados.cluster.Workbench | yaml(False) | indent(6) }}
43     {%- endif %}
44
45     {%- for section in [
46         'AuditLogs',
47         'Containers',
48         'Git',
49         'InstanceTypes',
50         'Login',
51         'Mail',
52         'RemoteClusters',
53         'SystemLogs',
54         'Users',
55         'Volumes'
56       ]
57     %}
58       {%- if section in arvados.cluster %}
59     {{ section }}:
60       {{ arvados.cluster[section] | yaml(False) | indent(6) }}
61       {%- endif %}
62     {%- endfor %}
63
64     ### DATABASE CONFIGURATION
65     PostgreSQL:
66       ConnectionPool: {{ arvados.cluster.database.connection_pool_max }}
67       Connection:
68         # All parameters here are passed to the PG client library in a connection string;
69         # see https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-PARAMKEYWORDS
70         dbname: {{ arvados.cluster.database.name }}
71         host: {{ arvados.cluster.database.host }}
72         password: {{ arvados.cluster.database.password | yaml_encode }}
73         user: {{ arvados.cluster.database.user }}
74         {%- if arvados.cluster.database.extra_conn_params is defined %}
75         {{ arvados.cluster.database.extra_conn_params | yaml(False) | indent(8) }}
76         {%- endif %}
77
78     ### SERVICES URLs
79     Services:
80     {%- for service in [
81         'Composer',
82         'Controller',
83         'DispatchCloud',
84         'GitHTTP',
85         'GitSSH',
86         'Health',
87         'Keepbalance',
88         'Keepproxy',
89         'Keepstore',
90         'Nodemanager',
91         'RailsAPI',
92         'SSO',
93         'WebDAV',
94         'WebDAVDownload',
95         'WebShell',
96         'Websocket',
97         'Workbench1',
98         'Workbench2',
99       ]
100     %}
101       {%- if service in arvados.cluster.Services %}
102       {{ service }}:
103         {{ arvados.cluster.Services[service] | yaml(False) | indent(8) }}
104       {%- endif %}
105     {%- endfor %}