Merge branch '20930-websocket'
[arvados.git] / doc / _includes / _multi_host_install_custom_certificates.liquid
1 {% comment %}
2 Copyright (C) The Arvados Authors. All rights reserved.
3
4 SPDX-License-Identifier: CC-BY-SA-3.0
5 {% endcomment %}
6
7 You will need certificates for each DNS name and DNS wildcard previously listed in the "DNS hostnames for each service":#DNS .
8
9 To simplify certificate management, we recommend creating a single certificate for all of the hostnames, or creating a wildcard certificate that covers all possible hostnames (with the following patterns in subjectAltName):
10
11 <pre>
12 xarv1.example.com
13 *.xarv1.example.com
14 *.collections.xarv1.example.com
15 </pre>
16
17 (Replacing @xarv1.example.com@ with your own @${DOMAIN}@)
18
19 Copy your certificates to the directory specified with the variable @CUSTOM_CERTS_DIR@ in the remote directory where you copied the @provision.sh@ script. The provision script will find the certificates there.
20
21 The script expects cert/key files with these basenames (matching the role except for <i>keepweb</i>, which is split in both <i>download / collections</i>):
22
23 # @balancer@         -- Optional on multi-node installations
24 # @collections@      -- Part of keepweb, must be a wildcard for @*.collections.${DOMAIN}@
25 # @controller@
26 # @download@         -- Part of keepweb
27 # @grafana@          -- Service available by default on multi-node installations
28 # @keepproxy@        -- Corresponds to default domain @keep.${DOMAIN}@
29 # @prometheus@       -- Service available by default on multi-node installations
30 # @webshell@
31 # @websocket@        -- Corresponds to default domain @ws.${DOMAIN}@
32 # @workbench@
33 # @workbench2@
34
35 For example, for the @keepproxy@ service the script will expect to find this certificate:
36
37 <notextile>
38 <pre><code>${CUSTOM_CERTS_DIR}/keepproxy.crt
39 ${CUSTOM_CERTS_DIR}/keepproxy.key
40 </code></pre>
41 </notextile>
42
43 Make sure that all the FQDNs that you will use for the public-facing applications (API/controller, Workbench, Keepproxy/Keepweb) are reachable.
44
45 Note: because the installer currently looks for a different certificate file for each service, if you use a single certificate, we recommend creating a symlink for each certificate and key file to the primary certificate and key, e.g.
46
47 <notextile>
48 <pre><code class="userinput">ln -s xarv1.crt ${CUSTOM_CERTS_DIR}/controller.crt
49 ln -s xarv1.key ${CUSTOM_CERTS_DIR}/controller.key
50 ln -s xarv1.crt ${CUSTOM_CERTS_DIR}/keepproxy.crt
51 ln -s xarv1.key ${CUSTOM_CERTS_DIR}/keepproxy.key
52 ...
53 </code></pre>
54 </notextile>