ha_letsencrypt
ansible-ha-letsencrypt
Let's Encrypt — это бесплатный сервис, который предоставляет SSL сертификаты, используемые для сквозного шифрования в интернете. Этот сервис может быть использован для получения сертификатов для HTTPS трафика, а также для любых других протоколов TLS.
Сервис в основном требует действительное имя хоста, такое как my_house.duckdns.org
, и выдает SSL сертификаты с помощью Let's Encrypt. Кроме получения начальных сертификатов, он также устанавливает задания cron, чтобы гарантировать их автоматическое продление.
При продлении обычно необходимо перезапустить такие сервисы, как nginx или mosquitto, которые могут использовать сертификаты для шифрования своего TCP трафика. Также доступны переменные, которые позволяют автоматически выполнять такие заранее/после действия.
Требования
На самом деле это должно работать на любой системе, основанной на Debian, но было протестировано на Raspberry Pi с Hassbian.
Переменные роли
certbot_hostnames
- Пример:
my_home.duckdns.org,grafana.myhome.duckdns.org
- Это список имен хостов, разделенных запятыми, для которых будут выданы SSL сертификаты.
- Пример:
certbot_pre_hook
:- Пример:
systemctl stop nginx
- Это команда оболочки, которую вы хотите выполнить перед обновлением SSL сертификата.
- Пример:
certbot_post_hook
:- Пример:
systemctl restart mosquitto; systemctl start nginx
- Это любая команда оболочки, которую вы хотите выполнить после обновления ваших SSL сертификатов.
- Пример:
certbot_email
:- Пример:
[email protected]
- Это электронная почта, на которую будет отправлено уведомление, когда ваш сертификат скоро истечет (хотя он должен автоматически продлиться).
- Пример:
force_new_cert
:- логическое значение, которое можно установить для принудительного получения нового сертификата.
Зависимости
Отсутствуют.
Пример плейбука
- hosts: pi
vars:
certbot_hostnames: 'my_home.duckdns.org,grafana.myhome.duckdns.org'
certbot_pre_hook: 'systemctl stop nginx'
certbot_post_hook: 'systemctl restart mosquitto; systemctl start nginx'
roles:
- role: mpataki.ha-letsencrypt
Лицензия
MIT
ansible-galaxy install mpataki/ansible-ha-letsencrypt