]> git.arvados.org - arvados.git/blob - doc/_includes/_multi_host_install_custom_certificates.liquid
22965: Explain why we use origin/main
[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 *.containers.xarv1.example.com
16 </pre>
17
18 (Replacing @xarv1.example.com@ with your own @${DOMAIN}@)
19
20 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.
21
22 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>):
23
24 # @balancer@         -- Optional on multi-node installations
25 # @collections@      -- Part of keepweb, must be a wildcard for @*.collections.${DOMAIN}@
26 # @controller@       -- Must be valid for @${DOMAIN}@ and @*.containers.${DOMAIN}@
27 # @download@         -- Part of keepweb
28 # @grafana@          -- Service available by default on multi-node installations
29 # @keepproxy@        -- Corresponds to default domain @keep.${DOMAIN}@
30 # @prometheus@       -- Service available by default on multi-node installations
31 # @webshell@
32 # @websocket@        -- Corresponds to default domain @ws.${DOMAIN}@
33 # @workbench@
34 # @workbench2@
35
36 For example, for the @keepproxy@ service the script will expect to find this certificate:
37
38 <notextile>
39 <pre><code>${CUSTOM_CERTS_DIR}/keepproxy.crt
40 ${CUSTOM_CERTS_DIR}/keepproxy.key
41 </code></pre>
42 </notextile>
43
44 Make sure that all the FQDNs that you will use for the public-facing applications (API/controller, Workbench, Keepproxy/Keepweb) are reachable.
45
46 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.
47
48 <notextile>
49 <pre><code class="userinput">ln -s xarv1.crt ${CUSTOM_CERTS_DIR}/controller.crt
50 ln -s xarv1.key ${CUSTOM_CERTS_DIR}/controller.key
51 ln -s xarv1.crt ${CUSTOM_CERTS_DIR}/keepproxy.crt
52 ln -s xarv1.key ${CUSTOM_CERTS_DIR}/keepproxy.key
53 ...
54 </code></pre>
55 </notextile>