craigpearson.trellis_ca_certificates

Certificados CA de Trellis

Rol de Ansible de Trellis para agregar Certificados CA personalizados al Almacén de Confianza de OpenSSL. Perfecto para usar con Bases de Datos Administradas de Digital Ocean que requieren conexiones SSL/TLS para MySQL.

Requisitos

Instalación

Agregar a los requisitos

# trellis/galaxy.yml
- name: trellis-ca-certificates
  src: craigpearson.trellis_ca_certificates

Incluir en el libro de jugadas de provisión

Para agregar esta funcionalidad en sus servidores de staging/producción, incluya este rol en trellis/server.yml

# trellis/server.yml
...
- name: Servidor de WordPress - Instalar LEMP Stack con PHP 7.3 y MariaDB MySQL
  hosts: web:&{{ env }}
  become: yes
  roles:
    - { role: common, tags: [common] }
    ...
    - { role: sshd, tags: [sshd] }
    - { role: trellis-ca-certificates, tags: [ca-certificates] } # Punto de inclusión recomendado
    - { role: mariadb, tags: [mariadb] }

Si requiere esta funcionalidad en su servidor de desarrollo, también debe agregar esto a trellis/dev.yml

Establecer certificados a incluir

En producción, agregaríamos a trellis/group_vars/production/main.yml

# trellis/group_vars/production/main.yml
trellis_ca_certificates_trusted:
  # Fuente Local:         trellis/certs/production/example-certificate.crt
  # Destino Remoto:      /usr/local/share/ca-certificates/database.crt
  - name: database
    src: example-certificate.crt

Incluir archivos .crt

Por defecto, este rol busca en trellis/certs sus certificados, ejemplo:

trellis/
├── bin/
├── certs/                            # → Carpeta de certificados fuente
│   ├── development/                  # → Certificados de desarrollo
│   ├── staging/                      # → Certificados de staging
│   └── production/                   # → Certificados de producción
│       └── example-certificate.crt
└── deploy-hooks/

Ahora solo falta provisionar

Variables del Rol

Configurar certificados personalizados

La única variable requerida para la configuración es la lista de fuentes de certificados de confianza. Esto debe colocarse en trellis/group_vars/{{ env }}/main.yml donde {{ env }} es desarrollo, staging o producción.

Nota: Su certificado fuente se renombra y se coloca en el destino según lo especificado en name, ejemplo:

# Este es un ejemplo de valores posibles, este valor por defecto es []
trellis_ca_certificates_trusted:
  # Fuente Local:         trellis/certs/{{ env }}/example-certificate.crt
  # Destino Remoto:      /usr/local/share/ca-certificates/database.crt
  - name: database
    src: example-certificate.crt
  # Fuente Local:         trellis/certs/{{ env }}/db-master.crt
  # Destino Remoto:      /usr/local/share/ca-certificates/database/master.crt
  - name: database/master
  - src: db-master.crt
  # Fuente Local:         trellis/certs/{{ env }}/db-slave.crt
  # Destino Remoto:      /usr/local/share/ca-certificates/database/slave.crt
  - name: database/slave
  - src: db-slave.crt

Directorio fuente

Para almacenar sus archivos de certificado en una carpeta diferente a trellis/certs/{{ env }}:

# Por defecto es trellis/certs/env - donde env es desarrollo, staging o producción
trellis_ca_certificates_local_dir: custom-local-directory/{{ env }}

Directorio de destino remoto

A menos que haya configurado su OpenSSL remoto para buscar certificados en un directorio diferente, no debería necesitar cambiar esto.

# Por defecto es el almacén de confianza de OpenSSL en Ubuntu 18.04
trellis_ca_certificates_remote_dir: /usr/local/share/ca-certificates
Acerca del proyecto

Trellis role which allows you to add custom CA Certificates to the OpenSSL's trusted store.

Instalar
ansible-galaxy install craigpearson.trellis_ca_certificates
Licencia
gpl-3.0
Descargas
3.3k
Propietario
Just another WordPress developer