Merge branch '18761-debian-family-apt-keyrings'
[arvados-formula.git] / pillar.example
1 # -*- coding: utf-8 -*-
2 # vim: ft=yaml
3 ---
4 # Copyright (C) The Arvados Authors. All rights reserved.
5 #
6 # SPDX-License-Identifier: Apache-2.0
7
8 # The variables commented out are the default values that the formula uses.
9 # The uncommented values are REQUIRED values. If you don't set them, running
10 # this formula will fail.
11 arvados:
12   ### GENERAL CONFIG
13   # version: '2.1.0'
14   # release: production
15   ### It makes little sense to disable this flag, but you can, if you want :)
16   # use_upstream_repo: true
17
18   ### Repo URL is built with grains values. If desired, it can be completely
19   ### overwritten with the pillar parameter 'repo_url'
20   # repo:
21   #   humanname: Arvados Official Repository
22
23   # IMPORTANT!!!!!
24   # api, workbench and shell require some gems, so you need to make sure ruby
25   # and deps are installed in order to install and compile the gems.
26   # We default to `false` in these two variables as it's expected you already
27   # manage OS packages with some other tool and you don't want us messing up
28   # with your setup.
29   ruby:
30     # We set these to `true` here for testing purposes.
31     # They both default to `false`.
32     manage_ruby: true
33     use_rvm: false     # If you want to use rvm. Defaults to true for centos-7
34     # pkg: ruby        # Can specify a version like ruby-2.5.7 for rvm
35     manage_gems_deps: true
36     # gems_deps:
37     #     - curl
38     #     - g++
39     #     - gcc
40     #     - git
41     #     - libcurl4
42     #     - libcurl4-gnutls-dev
43     #     - libpq-dev
44     #     - libxml2
45     #     - libxml2-dev
46     #     - make
47     #     - python3-dev
48     #     - ruby-dev
49     #     - zlib1g-dev
50
51   # config:
52   #   file: /etc/arvados/config.yml
53   #   user: root
54   ### IMPORTANT!!!!!
55   ### If you're installing any of the rails apps (api, workbench), the group
56   ### should be set to that of the web server, usually `www-data`
57   #   group: root
58   #   mode: 640
59   #
60   ### This is the command run to verify the configuration is correct before
61   ### deploying it. By default it uses `-strict=true`, so it will error on
62   ### warnings (ie, unknown/deprecated parameters)
63   #
64   #   check_command: /usr/bin/arvados-server config-check -config
65   #
66   ### To fail only on errors, you can use
67   #
68   #   check_command: /usr/bin/arvados-server config-check -strict=false -config
69   #
70   ### and to disable configuration checking (not recommended), just set it to
71   ### any command that returns true
72   #
73   #   check_command: /bin/true
74
75   ### ARVADOS CLUSTER CONFIG
76   cluster:
77     name: fixme
78     domain: example.net
79
80     database:
81       # max concurrent connections per arvados server daemon
82       # connection_pool_max: 32
83       name: arvados
84       host: 127.0.0.1
85       password: changeme_arvados
86       user: arvados
87       # You can pass extra database connections parameters here,
88       # which will be rendered as yaml.
89       # extra_conn_params:
90       #   sslmode: prefer
91       #   verify-ca: false
92       #   client_encoding: UTF8
93
94     tls:
95       # certificate: ''
96       # key: ''
97       # required to test with snakeoil certs
98       insecure: true
99
100     ### TOKENS
101     tokens:
102       # Secrets and tokens have to be +32 alphanumeric,
103       # it does not accept underscores or special characters.
104       # See https://dev.arvados.org/issues/17150
105       system_root: systemroottokenmushaveatleast32characters
106       management: managementtokenmushaveatleast32characters
107       # The AnonymousUserToken can be set here or in the
108       # Users dictionary below. The latter will be used if set.
109       anonymous_user: anonymoususertokenmushaveatleast32characters
110
111     ### KEYS
112     secrets:
113       blob_signing_key: blobsigningkeymushaveatleast32characters
114       workbench_secret_key: workbenchsecretkeymushaveatleast32characters
115       dispatcher_access_key: changemedispatcheraccesskey
116       dispatcher_secret_key: changemedispatchersecretkey
117       keep_access_key: changemekeepaccesskey
118       keep_secret_key: changemekeepsecretkey
119
120     ### ARVADOS RESOURCES
121     # This dict allows you to create various resources in the Arvados
122     # database so they're ready to use.
123     # Check the `arvados.api.resources.* states to see which can be
124     # currently managed
125
126     ### SHELL / WEBSHELL REGISTRATION
127     # In order to use shell nodes via webshell, Arvados needs to know of
128     # their existence and they need to be configured as upstreams in nginx
129     # (see https://doc.arvados.org/v2.0/install/install-webshell.html)
130     # This could be achieved in various ways (ie, through salt mine if you
131     # want them to be dinamically created), but that's outside the scope of
132     # this formula. The following dict is just an example that will be used
133     # by the `arvados.api.resources.virtual_machines` state to add entries
134     # in Arvados' database of the cluster's resources'
135     # It's additionally used in the
136     #   `test/salt/pillar/examples/nginx_webshell_configuration.sls`
137     # pillar to add the corresponding `location` entries in nginx's webshell
138     # vhosts & upstreams
139     resources:
140       virtual_machines:
141         shell1:
142           name: webshell1      # if not set, will match the one of the dict key above
143           backend: 1.2.3.4     # upstream host ip/name that has the shell role
144           port: 4200           # port where shellinabox is listening
145         # when no other parameter is set:
146         # `name` will match the name of the key
147         # backend` will match `name`
148         # `port` will default to shellinabox's 4200
149         webshell2: {}
150
151     ### VOLUMES
152     ## This should usually match all your `keepstore` instances
153     Volumes:
154       # the volume name will be composed with
155       # <cluster>-nyw5e-<volume>
156       fixme-nyw5e-000000000000000:
157         AccessViaHosts:
158           http://keep0.fixme.example.net:25107:
159             ReadOnly: false
160         Replication: 2
161         Driver: Directory
162         DriverParameters:
163           Root: /tmp
164
165     Users:
166       NewUsersAreActive: true
167       AutoAdminFirstUser: true
168       AutoSetupNewUsers: true
169       AutoSetupNewUsersWithRepository: true
170
171     Services:
172       Controller:
173         ExternalURL: https://fixme.example.net
174         InternalURLs:
175           http://localhost:8003: {}
176       DispatchCloud:
177         InternalURLs:
178           http://fixme.example.net:9006: {}
179       Keepbalance:
180         InternalURLs:
181           http://fixme.example.net:9005: {}
182       Keepproxy:
183         ExternalURL: https://keep.fixme.example.net
184         InternalURLs:
185           http://localhost:25100: {}
186       Keepstore:
187         InternalURLs:
188           http://keep0.fixme.example.net:25107: {}
189       RailsAPI:
190         InternalURLs:
191           http://localhost:8004: {}
192       WebDAV:
193         ExternalURL: https://collections.fixme.example.net
194         InternalURLs:
195           http://localhost:9002: {}
196       WebDAVDownload:
197         ExternalURL: https://download.fixme.example.net
198       WebShell:
199         ExternalURL: https://webshell.fixme.example.net
200       Websocket:
201         ExternalURL: wss://ws.fixme.example.net/websocket
202         InternalURLs:
203           http://localhost:8005: {}
204       Workbench1:
205         ExternalURL: https://workbench.fixme.example.net
206       Workbench2:
207         ExternalURL: https://workbench2.fixme.example.net
208
209 #  ### THESE ARE THE PACKAGES AND DAEMONS BASIC CONFIGS
210 #  #### API
211 #   api:
212 #     pkg:
213 #       name:
214 #         - arvados-api-server
215 #         - arvados-dispatch-cloud
216 #     gem:
217 #       name:
218 #         - arvados-cli
219 #     service:
220 #       name:
221 #         - nginx
222 #       port: 8004
223 #  #### CONTROLLER
224 #   controller:
225 #     pkg:
226 #       name: arvados-controller
227 #     gem:
228 #       name:
229 #         - arvados-cli
230 #     service:
231 #       name: arvados-controller
232 #       port: 8003
233 #  #### DISPATCHER
234 #   dispatcher:
235 #     pkg:
236 #       name:
237 #         - crunch-dispatch-local
238 #       #   - arvados-dispatch-cloud
239 #       #   - crunch-dispatch-slurm
240 #     service:
241 #       name: crunch-dispatch-local
242 #       port: 9006
243 #  #### KEEPPROXY
244 #   keepproxy:
245 #     pkg:
246 #       name: keepproxy
247 #     service:
248 #       name: keepproxy
249 #       port: 25107
250 #  #### KEEPWEB
251 #   keepweb:
252 #     pkg:
253 #       name: keep-web
254 #     service:
255 #       name: keep-web
256 #     #   webdav
257 #       port: 9002
258 #  #### KEEPSTORE
259 #   keepstore:
260 #     pkg:
261 #       name: keepstore
262 #     service:
263 #       name: keepstore
264 #       port: 25107
265 #  #### SHELL
266 #   shell:
267 #     pkg:
268 #       name:
269 #         - arvados-client
270 #         - arvados-src
271 #         - python3-arvados-fuse
272 #         - python3-arvados-python-client
273 #         - python3-arvados-cwl-runner
274 #     gem:
275 #       name:
276 #         - arvados-cli
277 #         - arvados-login-sync
278 #     shellinabox:
279 #       config: /etc/default/shellinabox
280 #       service:
281 #         name: shellinabox
282 #         port: 4200
283 #  #### WORKBENCH
284 #   workbench:
285 #     pkg:
286 #       name: arvados-workbench
287 #     service:
288 #       name: nginx
289 #  #### WORKBENCH2
290 #   workbench2:
291 #     pkg:
292 #       name: arvados-workbench2
293 #     service:
294 #       name: nginx
295 #  ####  WEBSOCKET
296 #   websocket:
297 #     pkg:
298 #       name: arvados-ws
299 #     service:
300 #       name: arvados-ws
301 #       port: 8005
302
303 #  ## SALTSTACK FORMULAS TOFS configuration
304 #   https://template-formula.readthedocs.io/en/latest/TOFS_pattern.html
305 #   tofs:
306 #   #    The files_switch key serves as a selector for alternative
307 #   #    directories under the formula files directory. See TOFS pattern
308 #   #    doc for more info.
309 #   #    Note: Any value not evaluated by `config.get` will be used literally.
310 #   #    This can be used to set custom paths, as many levels deep as required.
311 #     files_switch:
312 #       - any/path/can/be/used/here
313 #       - id
314 #       - roles
315 #       - osfinger
316 #       - os
317 #       - os_family
318 #   #    All aspects of path/file resolution are customisable using the options below.
319 #   #    This is unnecessary in most cases; there are sensible defaults.
320 #   #    Default path: salt://< path_prefix >/< dirs.files >/< dirs.default >
321 #   #            I.e.: salt://arvados/files/default
322 #   #    path_prefix: template_alt
323 #   #    dirs:
324 #   #      files: files_alt
325 #   #      default: default_alt
326 #   #    The entries under `source_files` are prepended to the default source files
327 #   #    given for the state
328 #   #    source_files:
329 #   #      arvados-config-file-file-managed:
330 #   #        - 'example_alt.tmpl'
331 #   #        - 'example_alt.tmpl.jinja'