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.

O projekcie

install SSL certificates

Zainstaluj
ansible-galaxy install idiv-biodiversity.ssl_certificates
Licencja
mit
Pobrania
47k