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
- Trellis
- Ubuntu 18.04
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
Trellis role which allows you to add custom CA Certificates to the OpenSSL's trusted store.
ansible-galaxy install craigpearson.trellis_ca_certificates