17840: Merge branch 'main'
[arvados.git] / doc / install / salt-vagrant.html.textile.liquid
1 ---
2 layout: default
3 navsection: installguide
4 title: Arvados in a VM with Vagrant
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 # "Vagrant":#vagrant
13 # "Final steps":#final_steps
14 ## "DNS configuration":#dns_configuration
15 ## "Install root certificate":#ca_root_certificate
16 # "Initial user and login":#initial_user
17 # "Test the installed cluster running a simple workflow":#test_install
18
19 h2(#vagrant). Vagrant
20
21 This is a package-based installation method. The Salt scripts are available from the "tools/salt-install":https://github.com/arvados/arvados/tree/main/tools/salt-install directory in the Arvados git repository.
22
23 A @Vagrantfile@ is provided to install Arvados in a virtual machine on your computer using "Vagrant":https://www.vagrantup.com/.
24
25 To get it running, install Vagrant in your computer, edit the variables at the top of the @provision.sh@ script as needed, and run
26
27 <notextile>
28 <pre><code>vagrant up
29 </code></pre>
30 </notextile>
31
32 If you want to reconfigure the running box, you can just:
33
34 1. edit the pillars to suit your needs
35 2. run
36
37 <notextile>
38 <pre><code>vagrant reload --provision
39 </code></pre>
40 </notextile>
41
42 h2(#final_steps). Final configuration steps
43
44 h3(#dns_configuration). DNS configuration
45
46 After the setup is done, you need to set up your DNS to be able to access the cluster.
47
48 The simplest way to do this is to edit your @/etc/hosts@ file (as root):
49
50 <notextile>
51 <pre><code>export CLUSTER="arva2"
52 export DOMAIN="arv.local"
53 export HOST_IP="127.0.0.2"    # This is valid either if installing in your computer directly
54                               # or in a Vagrant VM. If you're installing it on a remote host
55                               # just change the IP to match that of the host.
56 echo "${HOST_IP} api keep keep0 collections download ws workbench workbench2 ${CLUSTER}.${DOMAIN} api.${CLUSTER}.${DOMAIN} keep.${CLUSTER}.${DOMAIN} keep0.${CLUSTER}.${DOMAIN} collections.${CLUSTER}.${DOMAIN} download.${CLUSTER}.${DOMAIN} ws.${CLUSTER}.${DOMAIN} workbench.${CLUSTER}.${DOMAIN} workbench2.${CLUSTER}.${DOMAIN}" >> /etc/hosts
57 </code></pre>
58 </notextile>
59
60 h3(#ca_root_certificate). Install root certificate
61
62 Arvados uses SSL to encrypt communications. Its UI uses AJAX which will silently fail if the certificate is not valid or signed by an unknown Certification Authority.
63
64 For this reason, the @arvados-formula@ has a helper state to create a root certificate to authorize Arvados services. The @provision.sh@ script will leave a copy of the generated CA's certificate (@arvados-snakeoil-ca.pem@) in the script's directory so you can add it to your workstation.
65
66 Installing the root certificate into your web browser will prevent security errors when accessing Arvados services with your web browser.
67
68 # Go to the certificate manager in your browser.
69 #* In Chrome, this can be found under "Settings &rarr; Advanced &rarr; Manage Certificates" or by entering @chrome://settings/certificates@ in the URL bar.
70 #* In Firefox, this can be found under "Preferences &rarr; Privacy & Security" or entering @about:preferences#privacy@ in the URL bar and then choosing "View Certificates...".
71 # Select the "Authorities" tab, then press the "Import" button.  Choose @arvados-snakeoil-ca.pem@
72
73 The certificate will be added under the "Arvados Formula".
74
75 To access your Arvados instance using command line clients (such as arv-get and arv-put) without security errors, install the certificate into the OS certificate storage.
76
77 * On Debian/Ubuntu:
78
79 <notextile>
80 <pre><code>cp arvados-root-cert.pem /usr/local/share/ca-certificates/
81 /usr/sbin/update-ca-certificates
82 </code></pre>
83 </notextile>
84
85 * On CentOS:
86
87 <notextile>
88 <pre><code>cp arvados-root-cert.pem /etc/pki/ca-trust/source/anchors/
89 /usr/bin/update-ca-trust
90 </code></pre>
91 </notextile>
92
93 h2(#initial_user). Initial user and login
94
95 At this point you should be able to log into the Arvados cluster.
96
97 If you didn't change the defaults, the initial URL will be:
98
99 * https://workbench.arva2.arv.local:8443
100
101 or, in general, the url format will be:
102
103 * https://workbench.@<cluster>.<domain>:8443@
104
105 By default, the provision script creates an initial user for testing purposes. This user is configured as administrator of the newly created cluster.
106
107 Assuming you didn't change the defaults, the initial credentials are:
108
109 * User: 'admin'
110 * Password: 'password'
111 * Email: 'admin@arva2.arv.local'
112
113 h2(#test_install). Test the installed cluster running a simple workflow
114
115 As documented in the <a href="{{ site.baseurl }}/install/salt-single-host.html">Single Host installation</a> page, You can run a test workflow to verify the installation finished correctly. To do so, you can follow these steps:
116
117 <notextile>
118 <pre><code>vagrant ssh</code></pre>
119 </notextile>
120
121 and once in the instance:
122
123 <notextile>
124 <pre><code>cd /tmp/cluster_tests
125 ./run-test.sh
126 </code></pre>
127 </notextile>