bendews.letsencrypt-cloudflare

Estado de construcción

LetsEncrypt-Cloudflare

Este rol simplifica el proceso de renovación de certificados de LetsEncrypt al utilizar Cloudflare como proveedor de DNS.

Requisitos

  • Python >= 2.6
  • OpenSSL (se instalará automáticamente si es compatible)

Variables del rol

Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (consulte defaults/main.yml para muchas más variables que se pueden modificar).

Campos requeridos:

letsencrypt_email: ""
cloudflare_email: ""
cloudflare_api_key: "" # clave API 'Global' para la cuenta de Cloudflare especificada
cloudflare_domain: "" # zona DNS alojada en Cloudflare para crear entradas

Notas importantes:

Por defecto, el rol usará el nombre de host del inventario como el Nombre Común para solicitar un certificado, y colocará todos los archivos de certificados generados/recibidos en /etc/ssl/[Nombre Común del Certificado], y todos los archivos de la cuenta LetsEncrypt en /etc/ssl/lets_encrypt. Todas estas rutas pueden ser modificadas (consulte defaults/main.yml).

Además, los archivos de certificado también se pueden copiar y renombrar a otra ubicación después de la generación, modificando cualquiera de las siguientes variables:

copy_csr_full_path: ""
copy_crt_full_path: ""
copy_key_full_path: ""
copy_intermediate_full_path: "" # Requiere que include_intermediate esté configurado en 'yes'
copy_fullchain_full_path: "" # Requiere que include_intermediate esté configurado en 'yes'

El rol también se configura por defecto para usar los puntos finales de "staging" de letsencrypt, que generarán certificados funcionalmente correctos pero no confiables. Para generar certificados válidos, configure:

letsencrypt_production: yes

Los archivos generados se pueden eliminar después de su uso especificando la siguiente variable:

cleanup_all: yes

Ejemplo de Playbook

- hosts: servers
  tasks:
    - name: Renovar/Descargar nuevos certificados 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

TODO:

  • Agregar soporte para múltiples CN's

Licencia

MIT

Información del Autor

Creado en 2017 por Ben Dews

Acerca del proyecto

LetsEncrypt renewal using Cloudflare DNS

Instalar
ansible-galaxy install bendews.letsencrypt-cloudflare
Licencia
mit
Descargas
4.5k
Propietario
Engineer with a passion for network & infrastructure automation