20468: Adds config knobs for RailsAPI & controller performance tuning.
[arvados.git] / tools / salt-install / local.params.example.multiple_hosts
1 ##########################################################
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: CC-BY-SA-3.0
5
6 # These are the basic parameters to configure the installation
7
8 # The Arvados cluster ID, needs to be 5 lowercase alphanumeric characters.
9 CLUSTER="cluster_fixme_or_this_wont_work"
10
11 # The domain name you want to give to your cluster's hosts
12 # the end result hostnames will be $SERVICE.$CLUSTER.$DOMAIN
13 DOMAIN="domain_fixme_or_this_wont_work"
14
15 # For multi-node installs, the ssh log in for each node
16 # must be root or able to sudo
17 DEPLOY_USER=admin
18
19 INITIAL_USER=admin
20
21 # If not specified, the initial user email will be composed as
22 # INITIAL_USER@CLUSTER.DOMAIN
23 INITIAL_USER_EMAIL="admin@cluster_fixme_or_this_wont_work.domain_fixme_or_this_wont_work"
24 INITIAL_USER_PASSWORD="fixmepassword"
25
26 # Use a public node as a jump host for SSH sessions. This allows running the
27 # installer from the outside of the cluster's local network and still reach
28 # the internal servers for configuration deployment.
29 # Comment out to disable.
30 USE_SSH_JUMPHOST="controller.${CLUSTER}.${DOMAIN}"
31
32 # YOU SHOULD CHANGE THESE TO SOME RANDOM STRINGS
33 BLOB_SIGNING_KEY=fixmeblobsigningkeymushaveatleast32characters
34 MANAGEMENT_TOKEN=fixmemanagementtokenmushaveatleast32characters
35 SYSTEM_ROOT_TOKEN=fixmesystemroottokenmushaveatleast32characters
36 ANONYMOUS_USER_TOKEN=fixmeanonymoususertokenmushaveatleast32characters
37 WORKBENCH_SECRET_KEY=fixmeworkbenchsecretkeymushaveatleast32characters
38 DATABASE_PASSWORD=fixmeplease_set_this_to_some_secure_value
39
40 # SSL CERTIFICATES
41 # Arvados requires SSL certificates to work correctly. This installer supports these options:
42 # * self-signed: let the installer create self-signed certificate(s)
43 # * bring-your-own: supply your own certificate(s) in the `certs` directory
44 # * lets-encrypt: automatically obtain and install SSL certificates for your hostname(s)
45 #
46 # See https://doc.arvados.org/intall/salt-multi-host.html for more information.
47 SSL_MODE="lets-encrypt"
48 USE_LETSENCRYPT_ROUTE53="yes"
49 # For collections, we need to obtain a wildcard certificate for
50 # '*.collections.<cluster>.<domain>'. This is only possible through a DNS-01 challenge.
51 # For that reason, you'll need to provide AWS credentials with permissions to manage
52 # RRs in the route53 zone for the cluster.
53 # WARNING!: If AWS credentials files already exist in the hosts, they won't be replaced.
54 LE_AWS_REGION="us-east-1"
55 LE_AWS_ACCESS_KEY_ID="AKIABCDEFGHIJKLMNOPQ"
56 LE_AWS_SECRET_ACCESS_KEY="thisistherandomstringthatisyoursecretkey"
57
58 # If you going to provide your own certificates for Arvados, the provision script can
59 # help you deploy them. In order to do that, you need to set `SSL_MODE=bring-your-own` above,
60 # and copy the required certificates under the directory specified in the next line.
61 # The certs will be copied from this directory by the provision script.
62 # Please set it to the FULL PATH to the certs dir if you're going to use a different dir
63 # Default is "${SCRIPT_DIR}/certs", where the variable "SCRIPT_DIR" has the path to the
64 # directory where the  "provision.sh" script was copied in the destination host.
65 # CUSTOM_CERTS_DIR="${SCRIPT_DIR}/local_config_dir/certs"
66 # The script expects cert/key files with these basenames (matching the role except for
67 # keepweb, which is split in both download/collections):
68 #  "controller"
69 #  "websocket"
70 #  "workbench"
71 #  "workbench2"
72 #  "webshell"
73 #  "download"         # Part of keepweb
74 #  "collections"      # Part of keepweb
75 #  "keepproxy"        # Keepproxy
76 #  "prometheus"
77 #  "grafana"
78 # Ie., 'keep', the script will lookup for
79 # ${CUSTOM_CERTS_DIR}/keepproxy.crt
80 # ${CUSTOM_CERTS_DIR}/keepproxy.key
81
82 # Set the following to "yes" if the key files are encrypted and optionally set
83 # a custom AWS secret name for each node to retrieve the password.
84 SSL_KEY_ENCRYPTED="no"
85 SSL_KEY_AWS_SECRET_NAME="${CLUSTER}-arvados-ssl-privkey-password"
86 SSL_KEY_AWS_REGION="us-east-1"
87
88 # Customize Prometheus & Grafana web UI access credentials
89 MONITORING_USERNAME=${INITIAL_USER}
90 MONITORING_PASSWORD=${INITIAL_USER_PASSWORD}
91 MONITORING_EMAIL=${INITIAL_USER_EMAIL}
92 # Sets the directory for Grafana dashboards
93 # GRAFANA_DASHBOARDS_DIR="${SCRIPT_DIR}/local_config_dir/dashboards"
94
95 # The mapping of nodes to roles
96 # installer.sh will log in to each of these nodes and then provision
97 # it for the specified roles.
98 NODES=(
99   [controller.${CLUSTER}.${DOMAIN}]=database,api,controller,websocket,dispatcher,keepbalance
100   [workbench.${CLUSTER}.${DOMAIN}]=monitoring,workbench,workbench2,webshell,keepproxy,keepweb
101   [keep0.${CLUSTER}.${DOMAIN}]=keepstore
102   [shell.${CLUSTER}.${DOMAIN}]=shell
103 )
104
105 # Host SSL port where you want to point your browser to access Arvados
106 # Defaults to 443 for regular runs, and to 8443 when called in Vagrant.
107 # You can point it to another port if desired
108 # In Vagrant, make sure it matches what you set in the Vagrantfile (8443)
109 CONTROLLER_EXT_SSL_PORT=443
110 KEEP_EXT_SSL_PORT=443
111 # Both for collections and downloads
112 KEEPWEB_EXT_SSL_PORT=443
113 WEBSHELL_EXT_SSL_PORT=443
114 WEBSOCKET_EXT_SSL_PORT=443
115 WORKBENCH1_EXT_SSL_PORT=443
116 WORKBENCH2_EXT_SSL_PORT=443
117
118 # Internal IPs for the configuration
119 CLUSTER_INT_CIDR=10.1.0.0/16
120
121 # Note the IPs in this example are shared between roles, as suggested in
122 # https://doc.arvados.org/main/install/salt-multi-host.html
123 CONTROLLER_INT_IP=10.1.1.11
124 WEBSOCKET_INT_IP=10.1.1.11
125 KEEP_INT_IP=10.1.1.15
126 # Both for collections and downloads
127 KEEPWEB_INT_IP=10.1.1.15
128 KEEPSTORE0_INT_IP=10.1.2.13
129 WORKBENCH1_INT_IP=10.1.1.15
130 WORKBENCH2_INT_IP=10.1.1.15
131 WEBSHELL_INT_IP=10.1.1.15
132 DATABASE_INT_IP=10.1.1.11
133 SHELL_INT_IP=10.1.2.17
134
135 # Performance tuning parameters
136 #CONTROLLER_NGINX_WORKERS=
137 #CONTROLLER_MAX_CONCURRENT_REQUESTS=
138
139 # The directory to check for the config files (pillars, states) you want to use.
140 # There are a few examples under 'config_examples'.
141 # CONFIG_DIR="local_config_dir"
142
143 # Extra states to apply. If you use your own subdir, change this value accordingly
144 # EXTRA_STATES_DIR="${CONFIG_DIR}/states"
145
146 # These are ARVADOS-related settings.
147 # Which release of Arvados repo you want to use
148 RELEASE="production"
149 # Which version of Arvados you want to install. Defaults to latest stable
150 # VERSION="2.1.2-1"
151
152 # This is an arvados-formula setting.
153 # If branch is set, the script will switch to it before running salt
154 # Usually not needed, only used for testing
155 # BRANCH="main"
156
157 ##########################################################
158 # Usually there's no need to modify things below this line
159
160 # Formulas versions
161 # ARVADOS_TAG="2.2.0"
162 # POSTGRES_TAG="v0.44.0"
163 # NGINX_TAG="v2.8.1"
164 # DOCKER_TAG="v2.4.2"
165 # LOCALE_TAG="v0.3.4"
166 # LETSENCRYPT_TAG="v2.1.0"
167 # PROMETHEUS_TAG="v5.6.5"
168 # GRAFANA_TAG="v3.1.3"