mpataki.ha_letsencrypt
ansible-ha-letsencrypt
Let's Encrypt es un servicio gratuito que proporciona certificados SSL utilizados para la encriptación de extremo a extremo en Internet. Se puede usar para ofrecer certificados para tráfico HTTPS, así como para cualquier otro protocolo TLS.
Este servicio principalmente consume un nombre de host válido, como mi_casa.duckdns.org
, y produce certificados SSL usando Let's Encrypt. Además de obtener los certificados iniciales, también instalará un trabajo cron para asegurarse de que se renueven automáticamente.
Al renovar, es común tener que reiniciar servicios como nginx o mosquitto que pueden estar usando los certificados para encriptar su tráfico TCP. También se proporcionan variables que permiten que estos tipos de ganchos pre/post se realicen automáticamente.
Requisitos
Realmente, esto debería funcionar en cualquier sistema basado en Debian, pero se ha probado en una Raspberry Pi que ejecuta Hassbian.
Variables del Rol
certbot_hostnames
- Ej.
mi_casa.duckdns.org,grafana.micasa.duckdns.org
- Esta es una lista de nombres de host delimitada por comas para los que se emitirá el certificado SSL.
- Ej.
certbot_pre_hook
:- Ej.
systemctl stop nginx
- Este es cualquier comando de shell que deseas ejecutar antes de una actualización de certificado SSL.
- Ej.
certbot_post_hook
:- Ej.
systemctl restart mosquitto; systemctl start nginx
- Este es cualquier comando de shell que deseas ejecutar después de actualizar tus certificados SSL.
- Ej.
certbot_email
:- Ej.
[email protected]
- Este es el correo electrónico que se notificará cuando tu certificado esté a punto de expirar (aunque debería renovarse automáticamente).
- Ej.
force_new_cert
:- un booleano que puede ser configurado para forzar un nuevo certificado.
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: pi
vars:
certbot_hostnames: 'mi_casa.duckdns.org,grafana.micasa.duckdns.org'
certbot_pre_hook: 'systemctl stop nginx'
certbot_post_hook: 'systemctl restart mosquitto; systemctl start nginx'
roles:
- role: mpataki.ha-letsencrypt
Licencia
MIT
ansible-galaxy install mpataki.ha_letsencrypt