Merge branch '17299-uppercase-api'
[arvados.git] / doc / install / salt-multi-host.html.textile.liquid
1 ---
2 layout: default
3 navsection: installguide
4 title: Multi host Arvados
5 ...
6 {% comment %}
7 Copyright (C) The Arvados Authors. All rights reserved.
8
9 SPDX-License-Identifier: CC-BY-SA-3.0
10 {% endcomment %}
11
12 # "Install Saltstack":#saltstack
13 # "Install dependencies":#dependencies
14 # "Install Arvados using Saltstack":#saltstack
15 # "DNS configuration":#final_steps
16 # "Initial user and login":#initial_user
17
18 h2(#saltstack). Install Saltstack
19
20 If you already have a Saltstack environment you can skip this section.
21
22 The simplest way to get Salt up and running on a node is to use the bootstrap script they provide:
23
24 <notextile>
25 <pre><code>curl -L https://bootstrap.saltstack.com -o /tmp/bootstrap_salt.sh
26 sudo sh /tmp/bootstrap_salt.sh -XUdfP -x python3
27 </code></pre>
28 </notextile>
29
30 For more information check "Saltstack's documentation":https://docs.saltstack.com/en/latest/topics/installation/index.html
31
32 h2(#dependencies). Install dependencies
33
34 Arvados depends in a few applications and packages (postgresql, nginx+passenger, ruby) that can also be installed using their respective Saltstack formulas.
35
36 The formulas we use are:
37
38 * "postgres":https://github.com/saltstack-formulas/postgres-formula.git
39 * "nginx":https://github.com/saltstack-formulas/nginx-formula.git
40 * "docker":https://github.com/saltstack-formulas/docker-formula.git
41 * "locale":https://github.com/saltstack-formulas/locale-formula.git
42
43 There are example Salt pillar files for each of those formulas in the "arvados-formula's test/salt/pillar/examples":https://github.com/saltstack-formulas/arvados-formula/tree/master/test/salt/pillar/examples directory. As they are, they allow you to get all the main Arvados components up and running.
44
45 h2(#saltstack). Install Arvados using Saltstack
46
47 This is a package-based installation method. The Salt scripts are available from the "tools/salt-install":https://github.com/arvados/arvados/tree/master/tools/salt-install directory in the Arvados git repository.
48
49 The Arvados formula we maintain is located in the Saltstack's community repository of formulas:
50
51 * "arvados-formula":https://github.com/saltstack-formulas/arvados-formula.git
52
53 The @development@ version lives in our own repository
54
55 * "arvados-formula development":https://github.com/arvados/arvados-formula.git
56
57 This last one might break from time to time, as we try and add new features. Use with caution.
58
59 As much as possible, we try to keep it up to date, with example pillars to help you deploy Arvados.
60
61 For those familiar with Saltstack, the process to get it deployed is similar to any other formula:
62
63 1. Fork/copy the formula to your Salt master host.
64 2. Edit the Arvados, nginx, postgres, locale and docker pillars to match your desired configuration.
65 3. Run a @state.apply@ to get it deployed.
66
67 h2(#final_steps). DNS configuration
68
69 After the setup is done, you need to set up your DNS to be able to access the cluster's nodes.
70
71 The simplest way to do this is to add entries in the @/etc/hosts@ file of every host:
72
73 <notextile>
74 <pre><code>export CLUSTER="arva2"
75 export DOMAIN="arv.local"
76
77 echo A.B.C.a  api ${CLUSTER}.${DOMAIN} api.${CLUSTER}.${DOMAIN} >> /etc/hosts
78 echo A.B.C.b  keep keep.${CLUSTER}.${DOMAIN} >> /etc/hosts
79 echo A.B.C.c  keep0 keep0.${CLUSTER}.${DOMAIN} >> /etc/hosts
80 echo A.B.C.d  collections collections.${CLUSTER}.${DOMAIN} >> /etc/hosts
81 echo A.B.C.e  download download.${CLUSTER}.${DOMAIN} >> /etc/hosts
82 echo A.B.C.f  ws ws.${CLUSTER}.${DOMAIN} >> /etc/hosts
83 echo A.B.C.g  workbench workbench.${CLUSTER}.${DOMAIN} >> /etc/hosts
84 echo A.B.C.h  workbench2 workbench2.${CLUSTER}.${DOMAIN}" >> /etc/hosts
85 </code></pre>
86 </notextile>
87
88 Replacing in each case de @A.B.C.x@ IP with the corresponding IP of the node.
89
90 If your infrastructure uses another DNS service setup, add the corresponding entries accordingly.
91
92 h2(#initial_user). Initial user and login
93
94 At this point you should be able to log into the Arvados cluster.
95
96 If you did not change the defaults, the initial URL will be:
97
98 * https://workbench.arva2.arv.local
99
100 or, in general, the url format will be:
101
102 * https://workbench.@<cluster>.<domain>@
103
104 By default, the provision script creates an initial user for testing purposes. This user is configured as administrator of the newly created cluster.
105
106 Assuming you didn't change the defaults, the initial credentials are:
107
108 * User: 'admin'
109 * Password: 'password'
110 * Email: 'admin@arva2.arv.local'