bendews.letsencrypt-cloudflare
LetsEncrypt-Cloudflare
Ce rôle simplifie le processus de renouvellement des certificats LetsEncrypt lors de l'utilisation de Cloudflare en tant que fournisseur DNS.
Exigences
- Python >= 2.6
- OpenSSL (sera automatiquement installé si supporté)
Variables du Rôle
Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml
pour beaucoup d'autres variables qui peuvent être modifiées)
Champs Obligatoires:
letsencrypt_email: ""
cloudflare_email: ""
cloudflare_api_key: "" # clé API 'Globale' pour le compte Cloudflare spécifié
cloudflare_domain: "" # Zone DNS hébergée par Cloudflare pour les entrées à créer
Notes Importantes:
Par défaut, le rôle utilisera le nom d'hôte de l'inventaire comme Nom Commun pour demander un certificat, et placera tous les fichiers de certificats générés/reçus dans /etc/ssl/[Nom Commun du Certificat]
, et tous les fichiers de compte LetsEncrypt dans /etc/ssl/lets_encrypt
. Ces chemins peuvent tous être remplacés (voir defaults/main.yml
).
De plus, les fichiers de certificat peuvent également être copiés et renommés vers un autre emplacement après leur génération, en modifiant l'une des variables suivantes :
copy_csr_full_path: ""
copy_crt_full_path: ""
copy_key_full_path: ""
copy_intermediate_full_path: "" # Nécessite que include_intermediate soit réglé sur 'yes'
copy_fullchain_full_path: "" # Nécessite que include_intermediate soit réglé sur 'yes'
Le rôle utilise également par défaut les points de terminaison "staging" de letsencrypt, qui généreront des certificats fonctionnellement corrects mais non approuvés. Pour générer des certificats valides, réglez :
letsencrypt_production: yes
Les fichiers générés peuvent être supprimés après utilisation en spécifiant la variable suivante :
cleanup_all: yes
Exemples de Playbook
- hosts: serveurs
tasks:
- name: Renouveler/Télécharger de nouveaux certificats SSL
include_role:
name: letsencrypt-cloudflare
vars:
letsencrypt_email: "[email protected]"
cloudflare_email: "[email protected]"
cloudflare_domain: "abc.com"
cloudflare_api_key: "AAABBBCCCDDDEEE111222333"
letsencrypt_production: yes
include_intermediate: yes
À FAIRE:
- Ajouter le support pour plusieurs CN's
Licence
MIT
Informations sur l'Auteur
Créé en 2017 par Ben Dews
LetsEncrypt renewal using Cloudflare DNS
ansible-galaxy install bendews.letsencrypt-cloudflare