mpataki.ha_letsencrypt
ansible-ha-letsencrypt
Let's Encrypt est un service gratuit qui fournit des certificats SSL utilisés pour le cryptage de bout en bout sur Internet. Il peut être utilisé pour fournir des certificats pour le trafic HTTPS, ainsi que pour tout autre protocole TLS.
Ce service utilise principalement un nom de domaine valide, tel que my_house.duckdns.org
, et génère des certificats SSL en utilisant Let's Encrypt. En plus d'obtenir les certificats initiaux, il installera également une tâche cron pour s'assurer qu'ils sont renouvelés automatiquement.
Lors du renouvellement, il est courant de devoir redémarrer des services comme nginx ou mosquitto qui peuvent utiliser les certificats pour chiffrer leur trafic TCP. Des variables sont également fournies pour permettre à ces types de pré/post hooks de se produire automatiquement.
Exigences
Cela devrait réellement fonctionner sur tout système basé sur Debian, mais cela a été testé sur un Raspberry Pi exécutant Hassbian.
Variables du rôle
certbot_hostnames
- Ex.
my_home.duckdns.org,grafana.myhome.duckdns.org
- Il s'agit d'une liste de noms de domaine séparés par des virgules pour lesquels le certificat SSL sera émis.
- Ex.
certbot_pre_hook
:- Ex.
systemctl stop nginx
- C'est n'importe quelle commande shell que vous souhaitez exécuter avant une mise à jour de certificat SSL.
- Ex.
certbot_post_hook
:- Ex.
systemctl restart mosquitto; systemctl start nginx
- C'est n'importe quelle commande shell que vous souhaitez exécuter après la mise à jour de vos certificats SSL.
- Ex.
certbot_email
:- Ex.
[email protected]
- Il s'agit de l'email qui sera contacté lorsque votre certificat sera sur le point d'expirer (bien qu'il doive être renouvelé automatiquement).
- Ex.
force_new_cert
:- un booléen qui peut être utilisé pour forcer un nouveau certificat
Dépendances
Aucune.
Exemple de Playbook
- 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
Licence
MIT
ansible-galaxy install mpataki.ha_letsencrypt