ssl_certificates

Ansible Роль: SSL Сертификаты

Роль Ansible, которая устанавливает SSL сертификаты.

Содержание

Требования

  • Ansible 2.4+

Переменные Роли

Эта роль требует всего одну переменную, хотя она выглядит несколько громоздко. Переменная представляет собой список сертификатов. Каждый сертификат требует key и cert, а также опционально chain.

ssl_certificates:
  - name: ssl сертификат для blah.example.com
    key:
      content: '{{ vault_ssl_certificate_key }}'
      dest: /path/to/key.pem
    cert:
      src: path/to/cert.pem
      dest: /path/to/cert.pem
    chain:
      src: path/to/chain
      dest: /path/to/chain
  - name: ssl сертификат для bippy.example.com
    key:
      ...

Примечание: Рекомендуется поместить ключ в хранилище!

Примечание: Убедитесь, что Ansible может найти файлы src. group_vars/group и host_vars/host не ищутся автоматически. Если вы хотите хранить файлы там, используйте, например, host_vars/host/example.com.pem.

Примечание: key, cert и chain также позволяют установить пользовательский setype, по умолчанию это cert_t.

Примечание: key также позволяет задать список для предоставления дополнительных прав на чтение через записи ACL. Это для сервисов, которые должны иметь доступ к ключу, но не запускаются от root и потом теряют привилегии.

ssl_certificates:
  - name: ssl сертификат для blah.example.com
    key:
      content: '{{ vault_ssl_certificate_key }}'
      dest: /path/to/key.pem
      acl_users:
        - service-user-a
        - service-user-b
    cert:
      ...

Повторное использование Переменных Путей

Вы можете повторно использовать переменные путей для конфигурационных переменных других ролей, например:

---

ssl_certificates:
  - name: ssl сертификат для blah.example.com
    ...
  - name: ...
    ...

# Поскольку ssl_certificates является списком, необходимо индексировать с помощью [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 }}'

# здесь используется второй ключ для 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 }}'

...

Зависимости

Нет.

Пример Плейбука

Добавьте в requirements.yml:

---

- src: idiv-biodiversity.ssl_certificates

...

Скачайте:

$ ansible-galaxy install -r requirements.yml

Основной Плейбук

Напишите основной плейбук:

---

- name: главный сервер
  hosts: head

  roles:
    - role: idiv-biodiversity.ssl_certificates
      tags:
        - сертификаты
        - ssl-сертификаты

...

Зависимость Роли

Определите зависимость роли в meta/main.yml:

---

dependencies:

  - role: idiv-biodiversity.ssl_certificates
    tags:
      - сертификаты
      - ssl-сертификаты

...

Лицензия

MIT

Информация об Авторе

Эта роль была создана в 2019 году Кристианом Краусом (также известен как wookietreiber на GitHub) и Дирком Сарпе (также известен как dirks на GitHub), оба системные администраторы Германского Центра Исследования Интегративной Биоразнообразия (iDiv), основана на черновике Бена Лангенберга (также известного как sloan87 на GitHub).

О проекте

install SSL certificates

Установить
ansible-galaxy install idiv-biodiversity/ssl-certificates
Лицензия
mit
Загрузки
45981