bendews.letsencrypt-cloudflare

Build Status

LetsEncrypt-Cloudflare

Diese Rolle vereinfacht den Prozess der Erneuerung von LetsEncrypt-Zertifikaten, wenn Cloudflare als DNS-Anbieter verwendet wird.

Anforderungen

  • Python >= 2.6
  • OpenSSL (wird automatisch installiert, wenn unterstützt)

Rollenvariablen

Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml für viele weitere veränderbare Variablen)

Erforderliche Felder:

letsencrypt_email: ""
cloudflare_email: ""
cloudflare_api_key: "" # 'Globaler' API-Schlüssel für das angegebene Cloudflare-Konto
cloudflare_domain: "" # Cloudflare gehostete DNS-Zone für die Einträge, die erstellt werden sollen

Wichtige Hinweise:

Standardmäßig verwendet die Rolle den Inventar-Hostnamen als den allgemeinen Namen für die Anforderung eines Zertifikats und legt alle generierten/empfangenen Zertifikatsdateien in /etc/ssl/[Zertifikat allgemeiner Name] und alle LetsEncrypt-Kontodateien in /etc/ssl/lets_encrypt ab. Diese Pfade können alle überschrieben werden (siehe defaults/main.yml).

Darüber hinaus können die Zertifikatsdateien nach der Erstellung auch an einen anderen Ort kopiert und umbenannt werden, indem beliebige der folgenden Variablen geändert werden:

copy_csr_full_path: ""
copy_crt_full_path: ""
copy_key_full_path: ""
copy_intermediate_full_path: "" # Erfordert include_intermediate, auf 'yes' gesetzt
copy_fullchain_full_path: "" # Erfordert include_intermediate, auf 'yes' gesetzt

Die Rolle verwendet auch standardmäßig die "staging"-Letsencrypt-Endpunkte, die funktional korrekte, jedoch nicht vertrauenswürdige Zertifikate erzeugen. Um gültige Zertifikate zu erstellen, setzen Sie:

letsencrypt_production: yes

Generierte Dateien können nach Gebrauch entfernt werden, indem die folgende Variable angegeben wird:

cleanup_all: yes

Beispiel Playbook

- hosts: servers
  tasks:
    - name: SSL-Zertifikate erneuern/herunterladen
      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

TODO:

  • Unterstützung für mehrere CNs hinzufügen

Lizenz

MIT

Autoreninformation

Erstellt 2017 von Ben Dews

Über das Projekt

LetsEncrypt renewal using Cloudflare DNS

Installieren
ansible-galaxy install bendews.letsencrypt-cloudflare
Lizenz
mit
Downloads
4.5k
Besitzer
Engineer with a passion for network & infrastructure automation