20610: Restricts backends' HTTP access by nginx rules.
[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.__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     {%- set max_reqs = "__CONTROLLER_MAX_CONCURRENT_REQUESTS__" %}
112     {%- if max_reqs != "" and max_reqs is number %}
113     API:
114       MaxConcurrentRequests: {{ max_reqs }}
115     {%- endif %}
116
117     ### CONTAINERS
118     {%- set dispatcher_ssh_privkey = "__DISPATCHER_SSH_PRIVKEY__" %}
119     Containers:
120       MaxRetryAttempts: 10
121       CloudVMs:
122         ResourceTags:
123           Name: __CLUSTER__-compute-node
124         BootProbeCommand: 'systemctl is-system-running'
125         ImageID: __COMPUTE_AMI__
126         Driver: ec2
127         DriverParameters:
128           Region: __COMPUTE_AWS_REGION__
129           EBSVolumeType: gp3
130           AdminUsername: __COMPUTE_USER__
131           ### This SG should allow SSH from the dispatcher to the compute nodes
132           SecurityGroupIDs: ['__COMPUTE_SG__']
133           SubnetID: __COMPUTE_SUBNET__
134           IAMInstanceProfile: __CLUSTER__-compute-node-00-iam-role
135       DispatchPrivateKey: {{ dispatcher_ssh_privkey|yaml_dquote }}
136
137     ### VOLUMES
138     ## This should usually match all your `keepstore` instances
139     Volumes:
140       # the volume name will be composed with
141       # <cluster>-nyw5e-<volume>
142       __CLUSTER__-nyw5e-000000000000000:
143         Replication: 2
144         Driver: S3
145         DriverParameters:
146           Bucket: __CLUSTER__-nyw5e-000000000000000-volume
147           IAMRole: __CLUSTER__-keepstore-00-iam-role
148           Region: __KEEP_AWS_REGION__
149
150     Users:
151       NewUsersAreActive: true
152       AutoAdminFirstUser: true
153       AutoSetupNewUsers: true
154       AutoSetupNewUsersWithRepository: true
155
156     Services:
157       Controller:
158         ExternalURL: 'https://__DOMAIN__:__CONTROLLER_EXT_SSL_PORT__'
159         InternalURLs:
160           'http://localhost:8003': {}
161       DispatchCloud:
162         InternalURLs:
163           'http://__DISPATCHER_INT_IP__:9006': {}
164       Keepbalance:
165         InternalURLs:
166           'http://__KEEPBALANCE_INT_IP__:9005': {}
167       Keepproxy:
168         ExternalURL: 'https://keep.__DOMAIN__:__KEEP_EXT_SSL_PORT__'
169         InternalURLs:
170           'http://localhost:25107': {}
171       Keepstore:
172         InternalURLs:
173           'http://__KEEPSTORE0_INT_IP__:25107': {}
174       RailsAPI:
175         InternalURLs:
176           'http://localhost:8004': {}
177       WebDAV:
178         ExternalURL: 'https://*.collections.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__/'
179         InternalURLs:
180           'http://__KEEPWEB_INT_IP__:9002': {}
181       WebDAVDownload:
182         ExternalURL: 'https://download.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__'
183       WebShell:
184         ExternalURL: 'https://webshell.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__'
185       Websocket:
186         ExternalURL: 'wss://ws.__DOMAIN__/websocket'
187         InternalURLs:
188           'http://localhost:8005': {}
189       Workbench1:
190         ExternalURL: 'https://workbench.__DOMAIN__:__WORKBENCH1_EXT_SSL_PORT__'
191       Workbench2:
192         ExternalURL: 'https://workbench2.__DOMAIN__:__WORKBENCH2_EXT_SSL_PORT__'
193
194     InstanceTypes:
195       t3small:
196         ProviderType: t3.small
197         VCPUs: 2
198         RAM: 2GiB
199         AddedScratch: 50GB
200         Price: 0.0208
201       c5large:
202         ProviderType: c5.large
203         VCPUs: 2
204         RAM: 4GiB
205         AddedScratch: 50GB
206         Price: 0.085
207       m5large:
208         ProviderType: m5.large
209         VCPUs: 2
210         RAM: 8GiB
211         AddedScratch: 50GB
212         Price: 0.096
213       c5xlarge:
214         ProviderType: c5.xlarge
215         VCPUs: 4
216         RAM: 8GiB
217         AddedScratch: 100GB
218         Price: 0.17
219       m5xlarge:
220         ProviderType: m5.xlarge
221         VCPUs: 4
222         RAM: 16GiB
223         AddedScratch: 100GB
224         Price: 0.192
225       m5xlarge_extradisk:
226         ProviderType: m5.xlarge
227         VCPUs: 4
228         RAM: 16GiB
229         AddedScratch: 400GB
230         Price: 0.193
231       c52xlarge:
232         ProviderType: c5.2xlarge
233         VCPUs: 8
234         RAM: 16GiB
235         AddedScratch: 200GB
236         Price: 0.34
237       m52xlarge:
238         ProviderType: m5.2xlarge
239         VCPUs: 8
240         RAM: 32GiB
241         AddedScratch: 200GB
242         Price: 0.384
243       c54xlarge:
244         ProviderType: c5.4xlarge
245         VCPUs: 16
246         RAM: 32GiB
247         AddedScratch: 400GB
248         Price: 0.68
249       m54xlarge:
250         ProviderType: m5.4xlarge
251         VCPUs: 16
252         RAM: 64GiB
253         AddedScratch: 400GB
254         Price: 0.768