thermistor.acme_sh

Tag actuel

acme_sh

Configure acme.sh en mode API DNS via Ansible pour générer des certificats letsencrypt.org.

Dépendances

Beaucoup de paramètres par défaut supposent l'utilisation de nginx.

Variables

Voici quelques paramètres par défaut qui contrôlent le comportement :

acme_sh_autoupgrade: True
acme_sh_server: letsencrypt
acme_sh_notify: False
acme_sh_logging: False
acme_sh_keylength: 4096
acme_sh_dns_sleep: 120

acme_sh_certs_public_dir: /etc/nginx/certs
acme_sh_certs_private_dir: /etc/nginx/private
acme_sh_reload_cmd: /bin/systemctl reload nginx

Exemple de Playbook

Voici un exemple utilisant AWS Route53 API. Mais vous pouvez le modifier pour tout fournisseur d'API DNS.

Utilisation :

- hosts: serveurs
  roles:
    - role: thermistor.acme_sh
      acme_sh_subject_names:
        - example.com
        - www.example.com
      acme_sh_dns_provider: dns_aws
      acme_sh_env:
        AWS_ACCESS_KEY_ID: "{{ votre_id_cle_aws_vault }}"
        AWS_SECRET_ACCESS_KEY: "{{ votre_cle_secrete_aws_vault }}"

Voici le même exemple mais avec les logs ajoutés :

- hosts: serveurs
  roles:
    - role: thermistor.acme_sh
      acme_sh_logging: True
      acme_sh_subject_names:
        - example.com
        - www.example.com
      acme_sh_dns_provider: dns_aws
      acme_sh_env:
        AWS_ACCESS_KEY_ID: "{{ votre_id_cle_aws_vault }}"
        AWS_SECRET_ACCESS_KEY: "{{ votre_cle_secrete_aws_vault }}"

Et avec des notifications Mailgun :

- hosts: serveurs
  roles:
    - role: thermistor.acme_sh
      acme_sh_notify: True
      acme_sh_notify_hooks:
        - mailgun
      acme_sh_subject_names:
        - example.com
        - www.example.com
      acme_sh_dns_provider: dns_aws
      acme_sh_env:
        AWS_ACCESS_KEY_ID: "{{ votre_id_cle_aws_vault }}"
        AWS_SECRET_ACCESS_KEY: "{{ votre_cle_secrete_aws_vault }}"
        MAILGUN_API_KEY: "{{ votre_cle_api_mailgun_vault }}"
        MAILGUN_API_DOMAIN: "{{ votre_domaine_mailgun_vault }}"
        MAILGUN_FROM: "{{ votre_expéditeur_mailgun_vault }}"
        MAILGUN_TO: "{{ votre_destinataire_mailgun_vault }}"

Ce qui se passe en arrière-plan

Si vous générez un certificat pour example.com, lors de l'étape d'installation, ce rôle copiera le fichier /var/lib/acme/.acme.sh/example.com/fullchain.cer et l'installera sous /etc/nginx/certs/example.com.cer. Notez qu'il installe le certificat fullchain et le renomme, cela permet d'installer plusieurs certificats fullchain pour différents domaines si nécessaire.

Résolution des problèmes

S'il y a des problèmes de mauvaise configuration des certificats, il arrive parfois que vous ne puissiez pas réinstaller les certificats. Vous pouvez forcer la réinstallation des certificats avec :

ansible-playbook -i inventory playbook.yml -e "acme_sh_force_install=True" --tags acme_sh_cert_install

Licence

MIT

Alternatives

Nous avons beaucoup emprunté à ces alternatives :

À propos du projet

Configure acme.sh

Installer
ansible-galaxy install thermistor.acme_sh
Licence
Unknown
Téléchargements
177
Propriétaire
Product guy