18658: add missing state to deploy custom certs in multi-host env
[arvados.git] / tools / salt-install / config_examples / multi_host / aws / states / custom_certs.sls
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 {%- set orig_cert_dir = salt['pillar.get']('extra_custom_certs_dir', '/srv/salt/certs')  %}
6 {%- set dest_cert_dir = '/etc/nginx/ssl' %}
7 {%- set certs = salt['pillar.get']('extra_custom_certs', [])  %}
8
9 extra_custom_certs_file_directory_certs_dir:
10   file.directory:
11     - name: /etc/nginx/ssl
12     - require:
13       - pkg: nginx_install
14
15 {%- for cert in certs %}
16   {%- set cert_file = 'arvados-' ~ cert ~ '.pem' %}
17   {#- set csr_file = 'arvados-' ~ cert ~ '.csr' #}
18   {%- set key_file = 'arvados-' ~ cert ~ '.key' %}
19   {% for c in [cert_file, key_file] %}
20 extra_custom_certs_file_copy_{{ c }}:
21   file.copy:
22     - name: {{ dest_cert_dir }}/{{ c }}
23     - source: {{ orig_cert_dir }}/{{ c }}
24     - force: true
25     - user: root
26     - group: root
27     - unless: cmp {{ dest_cert_dir }}/{{ c }} {{ orig_cert_dir }}/{{ c }}
28     - require:
29       - file: extra_custom_certs_file_directory_certs_dir
30   {%- endfor %}
31 {%- endfor %}