Merge branch '20610-installer-load-balancer'. Refs #20610
[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_reqs = "__CONTROLLER_MAX_CONCURRENT_REQUESTS__" %}
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: '__VERSION__'
14   ## It makes little sense to disable this flag, but you can, if you want :)
15   # use_upstream_repo: true
16
17   ## Repo URL is built with grains values. If desired, it can be completely
18   ## overwritten with the pillar parameter 'repo_url'
19   # repo:
20   #   humanname: Arvados Official Repository
21
22   release: __RELEASE__
23
24   ## IMPORTANT!!!!!
25   ## api, workbench and shell require some gems, so you need to make sure ruby
26   ## and deps are installed in order to install and compile the gems.
27   ## We default to `false` in these two variables as it's expected you already
28   ## manage OS packages with some other tool and you don't want us messing up
29   ## with your setup.
30   ruby:
31     ## We set these to `true` here for testing purposes.
32     ## They both default to `false`.
33     manage_ruby: true
34     manage_gems_deps: true
35     # pkg: ruby
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 intalling 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   dispatcher:
60     pkg:
61       name: arvados-dispatch-cloud
62     service:
63       name: arvados-dispatch-cloud
64
65   ### ARVADOS CLUSTER CONFIG
66   cluster:
67     name: __CLUSTER__
68     domain: __DOMAIN__
69
70     database:
71       # max concurrent connections per arvados server daemon
72       # connection_pool_max: 32
73       name: __CLUSTER___arvados
74       host: __DATABASE_INT_IP__
75       password: "__DATABASE_PASSWORD__"
76       user: __CLUSTER___arvados
77       encoding: en_US.utf8
78       client_encoding: UTF8
79
80     tls:
81       # certificate: ''
82       # key: ''
83       # required to test with arvados-snakeoil certs
84       insecure: false
85
86     resources:
87       virtual_machines:
88         shell:
89           name: shell.__DOMAIN__
90           backend: __SHELL_INT_IP__
91           port: 4200
92
93     ### TOKENS
94     tokens:
95       system_root: __SYSTEM_ROOT_TOKEN__
96       management: __MANAGEMENT_TOKEN__
97       anonymous_user: __ANONYMOUS_USER_TOKEN__
98
99     ### KEYS
100     secrets:
101       blob_signing_key: __BLOB_SIGNING_KEY__
102       workbench_secret_key: __WORKBENCH_SECRET_KEY__
103
104     Login:
105       Test:
106         Enable: true
107         Users:
108           __INITIAL_USER__:
109             Email: __INITIAL_USER_EMAIL__
110             Password: __INITIAL_USER_PASSWORD__
111
112     ### API
113     {%- if max_reqs != "" %}
114     API:
115       MaxConcurrentRequests: {{ max_reqs|int }}
116     {%- endif %}
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