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