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