Add copyright headers to comply with Arvados
[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 `test/salt/pillar/examples/nginx_webshell_configuration.sls`
136     # pillar to add the corresponding `location` entries in nginx's webshell vhosts & upstreams
137     resources:
138       virtual_machines:
139         shell1:
140           name: webshell1      # if not set, will match the one of the dict key above
141           backend: 1.2.3.4     # upstream host ip/name that has the shell role
142           port: 4200           # port where shellinabox is listening
143         # when no other parameter is set:
144         # `name` will match the name of the key
145         # backend` will match `name`
146         # `port` will default to shellinabox's 4200
147         webshell2: {}
148
149     ### VOLUMES
150     ## This should usually match all your `keepstore` instances
151     Volumes:
152       # the volume name will be composed with
153       # <cluster>-nyw5e-<volume>
154       fixme-nyw5e-000000000000000:
155         AccessViaHosts:
156           http://keep0.fixme.example.net:25107:
157             ReadOnly: false
158         Replication: 2
159         Driver: Directory
160         DriverParameters:
161           Root: /tmp
162
163     Users:
164       NewUsersAreActive: true
165       AutoAdminFirstUser: true
166       AutoSetupNewUsers: true
167       AutoSetupNewUsersWithRepository: true
168
169     Services:
170       Controller:
171         ExternalURL: https://fixme.example.net
172         InternalURLs:
173           http://localhost:8003: {}
174       DispatchCloud:
175         InternalURLs:
176           http://fixme.example.net:9006: {}
177       Keepbalance:
178         InternalURLs:
179           http://fixme.example.net:9005: {}
180       Keepproxy:
181         ExternalURL: https://keep.fixme.example.net
182         InternalURLs:
183           http://localhost:25100: {}
184       Keepstore:
185         InternalURLs:
186           http://keep0.fixme.example.net:25107: {}
187       RailsAPI:
188         InternalURLs:
189           http://localhost:8004: {}
190       WebDAV:
191         ExternalURL: https://collections.fixme.example.net
192         InternalURLs:
193           http://localhost:9002: {}
194       WebDAVDownload:
195         ExternalURL: https://download.fixme.example.net
196       WebShell:
197         ExternalURL: https://webshell.fixme.example.net
198       Websocket:
199         ExternalURL: wss://ws.fixme.example.net/websocket
200         InternalURLs:
201           http://localhost:8005: {}
202       Workbench1:
203         ExternalURL: https://workbench.fixme.example.net
204       Workbench2:
205         ExternalURL: https://workbench2.fixme.example.net
206
207 #  ### THESE ARE THE PACKAGES AND DAEMONS BASIC CONFIGS
208 #  #### API
209 #   api:
210 #     pkg:
211 #       name:
212 #         - arvados-api-server
213 #         - arvados-dispatch-cloud
214 #     gem:
215 #       name:
216 #         - arvados-cli
217 #     service:
218 #       name:
219 #         - nginx
220 #       port: 8004
221 #  #### CONTROLLER
222 #   controller:
223 #     pkg:
224 #       name: arvados-controller
225 #     service:
226 #       name: arvados-controller
227 #       port: 8003
228 #  #### DISPATCHER
229 #   dispatcher:
230 #     pkg:
231 #       name:
232 #         - crunch-dispatch-local
233 #       #   - arvados-dispatch-cloud
234 #       #   - crunch-dispatch-slurm
235 #     service:
236 #       name: crunch-dispatch-local
237 #       port: 9006
238 #  #### KEEPPROXY
239 #   keepproxy:
240 #     pkg:
241 #       name: keepproxy
242 #     service:
243 #       name: keepproxy
244 #       port: 25107
245 #  #### KEEPWEB
246 #   keepweb:
247 #     pkg:
248 #       name: keep-web
249 #     service:
250 #       name: keep-web
251 #     #   webdav
252 #       port: 9002
253 #  #### KEEPSTORE
254 #   keepstore:
255 #     pkg:
256 #       name: keepstore
257 #     service:
258 #       name: keepstore
259 #       port: 25107
260 #  #### SHELL
261 #   shell:
262 #     pkg:
263 #       name:
264 #         - arvados-client
265 #         - arvados-src
266 #         - python3-arvados-fuse
267 #         - python3-arvados-python-client
268 #         - python3-arvados-cwl-runner
269 #     gem:
270 #       name:
271 #         - arvados-cli
272 #         - arvados-login-sync
273 #     shellinabox:
274 #       config: /etc/default/shellinabox
275 #       service:
276 #         name: shellinabox
277 #         port: 4200
278 #  #### WORKBENCH
279 #   workbench:
280 #     pkg:
281 #       name: arvados-workbench
282 #     service:
283 #       name: nginx
284 #  #### WORKBENCH2
285 #   workbench2:
286 #     pkg:
287 #       name: arvados-workbench2
288 #     service:
289 #       name: nginx
290 #  ####  WEBSOCKET
291 #   websocket:
292 #     pkg:
293 #       name: arvados-ws
294 #     service:
295 #       name: arvados-ws
296 #       port: 8005
297
298 #  ## SALTSTACK FORMULAS TOFS configuration
299 #   https://template-formula.readthedocs.io/en/latest/TOFS_pattern.html
300 #   tofs:
301 #   #    The files_switch key serves as a selector for alternative
302 #   #    directories under the formula files directory. See TOFS pattern
303 #   #    doc for more info.
304 #   #    Note: Any value not evaluated by `config.get` will be used literally.
305 #   #    This can be used to set custom paths, as many levels deep as required.
306 #     files_switch:
307 #       - any/path/can/be/used/here
308 #       - id
309 #       - roles
310 #       - osfinger
311 #       - os
312 #       - os_family
313 #   #    All aspects of path/file resolution are customisable using the options below.
314 #   #    This is unnecessary in most cases; there are sensible defaults.
315 #   #    Default path: salt://< path_prefix >/< dirs.files >/< dirs.default >
316 #   #            I.e.: salt://arvados/files/default
317 #   #    path_prefix: template_alt
318 #   #    dirs:
319 #   #      files: files_alt
320 #   #      default: default_alt
321 #   #    The entries under `source_files` are prepended to the default source files
322 #   #    given for the state
323 #   #    source_files:
324 #   #      arvados-config-file-file-managed:
325 #   #        - 'example_alt.tmpl'
326 #   #        - 'example_alt.tmpl.jinja'