Merge branch '20705-crunchstat-warn-missing-data'
[arvados.git] / tools / salt-install / config_examples / multi_host / aws / pillars / arvados.sls
1 ---
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: AGPL-3.0
5
6 {%- set max_workers = ("__CONTROLLER_MAX_WORKERS__" or grains['num_cpus'])|int %}
7 {%- set max_reqs = ("__CONTROLLER_MAX_QUEUED_REQUESTS__" or 128)|int %}
8
9 # The variables commented out are the default values that the formula uses.
10 # The uncommented values are REQUIRED values. If you don't set them, running
11 # this formula will fail.
12 arvados:
13   ### GENERAL CONFIG
14   version: '__VERSION__'
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   release: __RELEASE__
24
25   ## IMPORTANT!!!!!
26   ## api, workbench and shell require some gems, so you need to make sure ruby
27   ## and deps are installed in order to install and compile the gems.
28   ## We default to `false` in these two variables as it's expected you already
29   ## manage OS packages with some other tool and you don't want us messing up
30   ## with your setup.
31   ruby:
32     ## We set these to `true` here for testing purposes.
33     ## They both default to `false`.
34     manage_ruby: true
35     manage_gems_deps: true
36     # pkg: ruby
37     # gems_deps:
38     #     - curl
39     #     - g++
40     #     - gcc
41     #     - git
42     #     - libcurl4
43     #     - libcurl4-gnutls-dev
44     #     - libpq-dev
45     #     - libxml2
46     #     - libxml2-dev
47     #     - make
48     #     - python3-dev
49     #     - ruby-dev
50     #     - zlib1g-dev
51
52   # config:
53   #   file: /etc/arvados/config.yml
54   #   user: root
55   ## IMPORTANT!!!!!
56   ## If you're intalling any of the rails apps (api, workbench), the group
57   ## should be set to that of the web server, usually `www-data`
58   #   group: root
59   #   mode: 640
60   dispatcher:
61     pkg:
62       name: arvados-dispatch-cloud
63     service:
64       name: arvados-dispatch-cloud
65
66   ### ARVADOS CLUSTER CONFIG
67   cluster:
68     name: __CLUSTER__
69     domain: __DOMAIN__
70
71     database:
72       # max concurrent connections per arvados server daemon
73       # connection_pool_max: 32
74       name: __CLUSTER___arvados
75       host: __DATABASE_INT_IP__
76       password: "__DATABASE_PASSWORD__"
77       user: __CLUSTER___arvados
78       encoding: en_US.utf8
79       client_encoding: UTF8
80
81     tls:
82       # certificate: ''
83       # key: ''
84       # required to test with arvados-snakeoil certs
85       insecure: false
86
87     resources:
88       virtual_machines:
89         shell:
90           name: shell.__DOMAIN__
91           backend: __SHELL_INT_IP__
92           port: 4200
93
94     ### TOKENS
95     tokens:
96       system_root: __SYSTEM_ROOT_TOKEN__
97       management: __MANAGEMENT_TOKEN__
98       anonymous_user: __ANONYMOUS_USER_TOKEN__
99
100     ### KEYS
101     secrets:
102       blob_signing_key: __BLOB_SIGNING_KEY__
103       workbench_secret_key: __WORKBENCH_SECRET_KEY__
104
105     Login:
106       Test:
107         Enable: true
108         Users:
109           __INITIAL_USER__:
110             Email: __INITIAL_USER_EMAIL__
111             Password: __INITIAL_USER_PASSWORD__
112
113     ### API
114     API:
115       MaxConcurrentRequests: {{ max_workers * 2 }}
116       MaxQueuedRequests: {{ max_reqs }}
117
118     ### CONTAINERS
119     {%- set dispatcher_ssh_privkey = "__DISPATCHER_SSH_PRIVKEY__" %}
120     Containers:
121       MaxRetryAttempts: 10
122       CloudVMs:
123         ResourceTags:
124           Name: __CLUSTER__-compute-node
125         BootProbeCommand: 'systemctl is-system-running'
126         ImageID: __COMPUTE_AMI__
127         Driver: ec2
128         DriverParameters:
129           Region: __COMPUTE_AWS_REGION__
130           EBSVolumeType: gp3
131           AdminUsername: __COMPUTE_USER__
132           ### This SG should allow SSH from the dispatcher to the compute nodes
133           SecurityGroupIDs: ['__COMPUTE_SG__']
134           SubnetID: __COMPUTE_SUBNET__
135           IAMInstanceProfile: __CLUSTER__-compute-node-00-iam-role
136       DispatchPrivateKey: {{ dispatcher_ssh_privkey|yaml_dquote }}
137
138     ### VOLUMES
139     ## This should usually match all your `keepstore` instances
140     Volumes:
141       # the volume name will be composed with
142       # <cluster>-nyw5e-<volume>
143       __CLUSTER__-nyw5e-000000000000000:
144         Replication: 2
145         Driver: S3
146         DriverParameters:
147           Bucket: __CLUSTER__-nyw5e-000000000000000-volume
148           IAMRole: __CLUSTER__-keepstore-00-iam-role
149           Region: __KEEP_AWS_REGION__
150
151     Users:
152       NewUsersAreActive: true
153       AutoAdminFirstUser: true
154       AutoSetupNewUsers: true
155       AutoSetupNewUsersWithRepository: true
156
157     Services:
158       Controller:
159         ExternalURL: 'https://__DOMAIN__:__CONTROLLER_EXT_SSL_PORT__'
160         InternalURLs:
161           'http://localhost:8003': {}
162       DispatchCloud:
163         InternalURLs:
164           'http://__DISPATCHER_INT_IP__:9006': {}
165       Keepbalance:
166         InternalURLs:
167           'http://__KEEPBALANCE_INT_IP__:9005': {}
168       Keepproxy:
169         ExternalURL: 'https://keep.__DOMAIN__:__KEEP_EXT_SSL_PORT__'
170         InternalURLs:
171           'http://localhost:25107': {}
172       Keepstore:
173         InternalURLs:
174           'http://__KEEPSTORE0_INT_IP__:25107': {}
175       RailsAPI:
176         InternalURLs:
177           'http://localhost:8004': {}
178       WebDAV:
179         ExternalURL: 'https://*.collections.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__/'
180         InternalURLs:
181           'http://__KEEPWEB_INT_IP__:9002': {}
182       WebDAVDownload:
183         ExternalURL: 'https://download.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__'
184       WebShell:
185         ExternalURL: 'https://webshell.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__'
186       Websocket:
187         ExternalURL: 'wss://ws.__DOMAIN__/websocket'
188         InternalURLs:
189           'http://localhost:8005': {}
190       Workbench1:
191         ExternalURL: 'https://workbench.__DOMAIN__:__WORKBENCH1_EXT_SSL_PORT__'
192       Workbench2:
193         ExternalURL: 'https://workbench2.__DOMAIN__:__WORKBENCH2_EXT_SSL_PORT__'
194
195     InstanceTypes:
196       t3small:
197         ProviderType: t3.small
198         VCPUs: 2
199         RAM: 2GiB
200         AddedScratch: 50GB
201         Price: 0.0208
202       c5large:
203         ProviderType: c5.large
204         VCPUs: 2
205         RAM: 4GiB
206         AddedScratch: 50GB
207         Price: 0.085
208       m5large:
209         ProviderType: m5.large
210         VCPUs: 2
211         RAM: 8GiB
212         AddedScratch: 50GB
213         Price: 0.096
214       c5xlarge:
215         ProviderType: c5.xlarge
216         VCPUs: 4
217         RAM: 8GiB
218         AddedScratch: 100GB
219         Price: 0.17
220       m5xlarge:
221         ProviderType: m5.xlarge
222         VCPUs: 4
223         RAM: 16GiB
224         AddedScratch: 100GB
225         Price: 0.192
226       m5xlarge_extradisk:
227         ProviderType: m5.xlarge
228         VCPUs: 4
229         RAM: 16GiB
230         AddedScratch: 400GB
231         Price: 0.193
232       c52xlarge:
233         ProviderType: c5.2xlarge
234         VCPUs: 8
235         RAM: 16GiB
236         AddedScratch: 200GB
237         Price: 0.34
238       m52xlarge:
239         ProviderType: m5.2xlarge
240         VCPUs: 8
241         RAM: 32GiB
242         AddedScratch: 200GB
243         Price: 0.384
244       c54xlarge:
245         ProviderType: c5.4xlarge
246         VCPUs: 16
247         RAM: 32GiB
248         AddedScratch: 400GB
249         Price: 0.68
250       m54xlarge:
251         ProviderType: m5.4xlarge
252         VCPUs: 16
253         RAM: 64GiB
254         AddedScratch: 400GB
255         Price: 0.768