craigpearson.trellis_ca_certificates
Certificats CA de Trellis
Rôle Ansible de Trellis pour ajouter des certificats CA personnalisés au magasin de confiance d'OpenSSL. Parfait pour une utilisation avec Les bases de données gérées de Digital Ocean qui nécessitent des connexions SSL/TLS pour MySQL.
Exigences
- Trellis
- Ubuntu 18.04
Installation
Ajouter aux exigences
# trellis/galaxy.yml
- name: trellis-ca-certificates
src: craigpearson.trellis_ca_certificates
Inclure dans le playbook de provisionnement
Pour ajouter cette fonctionnalité sur vos serveurs de staging/production, incluez ce rôle dans trellis/server.yml
# trellis/server.yml
...
- name: Serveur WordPress - Installer la pile LEMP avec PHP 7.3 et MariaDB MySQL
hosts: web:&{{ env }}
become: yes
roles:
- { role: common, tags: [common] }
...
- { role: sshd, tags: [sshd] }
- { role: trellis-ca-certificates, tags: [ca-certificates] } # Inclusion recommandée
- { role: mariadb, tags: [mariadb] }
Si vous avez besoin de cette fonctionnalité sur votre serveur de développement, vous devez également l'ajouter à trellis/dev.yml
Définir les certificats à inclure
En production, nous ajouterions dans trellis/group_vars/production/main.yml
# trellis/group_vars/production/main.yml
trellis_ca_certificates_trusted:
# Source locale: trellis/certs/production/example-certificate.crt
# Destination distante: /usr/local/share/ca-certificates/database.crt
- name: database
src: example-certificate.crt
Inclure les fichiers .crt
Par défaut, ce rôle recherche vos certificats dans trellis/certs
, exemple :
trellis/
├── bin/
├── certs/ # → Dossier source des certificats
│ ├── development/ # → Certificats de développement
│ ├── staging/ # → Certificats de staging
│ └── production/ # → Certificats de production
│ └── example-certificate.crt
└── deploy-hooks/
Il ne vous reste plus qu'à procéder au provisionnement.
Variables du Rôle
Configurer des certificats personnalisés
La seule variable requise pour la configuration est la liste des sources de certificats de confiance. Cela doit être placé dans trellis/group_vars/{{ env }}/main.yml
où {{ env }}
est développement, staging ou production.
Note : Votre certificat source est renommé et placé à destination comme spécifié dans name
, exemple :
# Ceci est un exemple de valeurs possibles, cette valeur par défaut est []
trellis_ca_certificates_trusted:
# Source locale: trellis/certs/{{ env }}/example-certificate.crt
# Destination distante: /usr/local/share/ca-certificates/database.crt
- name: database
src: example-certificate.crt
# Source locale: trellis/certs/{{ env }}/db-master.crt
# Destination distante: /usr/local/share/ca-certificates/database/master.crt
- name: database/master
- src: db-master.crt
# Source locale: trellis/certs/{{ env }}/db-slave.crt
# Destination distante: /usr/local/share/ca-certificates/database/slave.crt
- name: database/slave
- src: db-slave.crt
Dossier source
Pour stocker vos fichiers de certificats dans un dossier autre que trellis/certs/{{ env }}
:
# Par défaut, c'est trellis/certs/env - où env est développement, staging ou production
trellis_ca_certificates_local_dir: custom-local-directory/{{ env }}
Dossier de destination distante
À moins que vous n'ayez configuré votre OpenSSL distant pour chercher des certificats dans un autre dossier, vous ne devriez pas avoir besoin de changer cela.
# Par défaut, c'est le magasin de confiance d'OpenSSL sur 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