idiv-biodiversity.ssl_certificates
Rola Ansible: Certyfikaty SSL
Rola Ansible, która instaluje certyfikaty SSL.
Spis Treści
Wymagania
- Ansible 2.4+
Zmienne Roli
Ta rola potrzebuje tylko jednej zmiennej, chociaż na pierwszy rzut oka może
wyglądać na dość rozbudowaną. Zmienna to zasadniczo lista certyfikatów. Każdy
certyfikat wymaga key
i cert
, a opcjonalnie chain
.
ssl_certificates:
- name: certyfikat ssl dla blah.example.com
key:
content: '{{ vault_ssl_certificate_key }}'
dest: /ścieżka/do/key.pem
cert:
src: ścieżka/do/cert.pem
dest: /ścieżka/do/cert.pem
chain:
src: ścieżka/do/chain
dest: /ścieżka/do/chain
- name: certyfikat ssl dla bippy.example.com
key:
...
Uwaga: Zaleca się umieścić klucz w skarbcu!
Uwaga: Upewnij się, że Ansible może znaleźć pliki src
. group_vars/group
a
host_vars/host
nie są automatycznie przeszukiwane. Jeśli chcesz zachować pliki
tam, użyj np. host_vars/host/example.com.pem
.
Uwaga: key
, cert
i chain
umożliwiają również ustawienie
niestandardowego setype
, domyślnie jest to cert_t
.
Uwaga: key
umożliwia również podanie listy w celu przyznania dodatkowych
uprawnień do odczytu poprzez wpisy ACL. Jest to dla usług, które potrzebują
dostępu do klucza, ale nie uruchamiają się jako root i następnie zmniejszają
uprawnienia.
ssl_certificates:
- name: certyfikat ssl dla blah.example.com
key:
content: '{{ vault_ssl_certificate_key }}'
dest: /ścieżka/do/key.pem
acl_users:
- service-user-a
- service-user-b
cert:
...
Ponowne Wykorzystanie Zmiennych Dokąd
Możesz ponownie wykorzystać zmienne docelowe dla zmiennych konfiguracyjnych innych ról, np.:
---
ssl_certificates:
- name: certyfikat ssl dla blah.example.com
...
- name: ...
...
# ponieważ ssl_certificates to lista, musisz indeksować za pomocą [n]
apache_ssl_cert_key_file: '{{ ssl_certificates[0].key.dest }}'
apache_ssl_cert_file: '{{ ssl_certificates[0].cert.dest }}'
apache_ssl_cert_chain_file: '{{ ssl_certificates[0].chain.dest }}'
# tutaj używany jest drugi klucz dla postfix
postfix_smtp_tls_key_file: '{{ ssl_certificates[1].key.dest }}'
postfix_smtp_tls_cert_file: '{{ ssl_certificates[1].cert.dest }}'
postfix_smtpd_tls_key_file: '{{ ssl_certificates[1].key.dest }}'
postfix_smtpd_tls_cert_file: '{{ ssl_certificates[1].cert.dest }}'
...
Zależności
Brak.
Przykładowy Playbook
Dodaj do requirements.yml
:
---
- src: idiv-biodiversity.ssl_certificates
...
Pobierz:
$ ansible-galaxy install -r requirements.yml
Playbook Najwyższego Poziomu
Napisz playbook najwyższego poziomu:
---
- name: serwer główny
hosts: head
roles:
- role: idiv-biodiversity.ssl_certificates
tags:
- certyfikaty
- certyfikaty-ssl
...
Zależność Roli
Zdefiniuj zależność roli w meta/main.yml
:
---
dependencies:
- role: idiv-biodiversity.ssl_certificates
tags:
- certyfikaty
- certyfikaty-ssl
...
Licencja
MIT
Informacje o Autorze
Ta rola została utworzona w 2019 roku przez Christiana Krause'a, znanego jako wookietreiber na GitHubie, oraz Dirka Sarpe znanego jako dirks na GitHubie, obaj są administratorami systemów w Niemieckim Centrum Badań nad Integracyjną Bioróżnorodnością (iDiv), w oparciu o szkic Bena Langenberga znanego jako sloan87 na GitHubie.
ansible-galaxy install idiv-biodiversity.ssl_certificates