craigpearson.trellis_ca_certificates
Trellis CA-Zertifikate
Trellis Ansible-Rolle zum Hinzufügen von benutzerdefinierten CA-Zertifikaten zum vertrauenswürdigen Speicher von OpenSSL. Perfekt für die Verwendung mit Digital Ocean Managed Databases, die SSL/TLS-Verbindungen für MySQL erfordern.
Anforderungen
- Trellis
- Ubuntu 18.04
Installation
Hinzufügen zu den Anforderungen
# trellis/galaxy.yml
- name: trellis-ca-certificates
src: craigpearson.trellis_ca_certificates
In das Bereitstellungs-Playbook aufnehmen
Um diese Funktionalität auf Ihren Staging-/Produktionsservern hinzuzufügen, fügen Sie diese Rolle in trellis/server.yml
hinzu.
# trellis/server.yml
...
- name: WordPress-Server - LEMP-Stack mit PHP 7.3 und MariaDB MySQL installieren
hosts: web:&{{ env }}
become: yes
roles:
- { role: common, tags: [common] }
...
- { role: sshd, tags: [sshd] }
- { role: trellis-ca-certificates, tags: [ca-certificates] } # Empfohlener Einfügepunkt
- { role: mariadb, tags: [mariadb] }
Wenn Sie diese Funktionalität auf Ihrem Entwicklungsserver benötigen, sollten Sie dies auch in trellis/dev.yml
hinzufügen.
Zertifikate festlegen
In der Produktion würden wir zu trellis/group_vars/production/main.yml
hinzufügen.
# trellis/group_vars/production/main.yml
trellis_ca_certificates_trusted:
# Lokale Quelle: trellis/certs/production/example-certificate.crt
# Fernziel: /usr/local/share/ca-certificates/database.crt
- name: database
src: example-certificate.crt
.crt-Dateien einfügen
Standardmäßig sucht diese Rolle im Verzeichnis trellis/certs
nach Ihren Zertifikaten, Beispiel:
trellis/
├── bin/
├── certs/ # → Quellzertifikatsordner
│ ├── development/ # → Entwicklungszertifikate
│ ├── staging/ # → Staging-Zertifikate
│ └── production/ # → Produktionszertifikate
│ └── example-certificate.crt
└── deploy-hooks/
Jetzt bleibt nur noch die Bereitstellung.
Rollenvariablen
Benutzerdefinierte Zertifikate konfigurieren
Die einzige Variable, die für die Konfiguration erforderlich ist, ist die Liste der vertrauenswürdigen Zertifikatsquellen. Diese sollte in trellis/group_vars/{{ env }}/main.yml
platziert werden, wobei {{ env }}
für Entwicklung, Staging oder Produktion steht.
Hinweis: Ihr Quellzertifikat wird umbenannt und im Zielverzeichnis wie in name
angegeben abgelegt, Beispiel:
# Dies ist ein Beispiel möglicher Werte, dieser Wert hat standardmäßig den Wert []
trellis_ca_certificates_trusted:
# Lokale Quelle: trellis/certs/{{ env }}/example-certificate.crt
# Fernziel: /usr/local/share/ca-certificates/database.crt
- name: database
src: example-certificate.crt
# Lokale Quelle: trellis/certs/{{ env }}/db-master.crt
# Fernziel: /usr/local/share/ca-certificates/database/master.crt
- name: database/master
- src: db-master.crt
# Lokale Quelle: trellis/certs/{{ env }}/db-slave.crt
# Fernziel: /usr/local/share/ca-certificates/database/slave.crt
- name: database/slave
- src: db-slave.crt
Quellverzeichnis
Um Ihre Zertifikatdateien in einem anderen Ordner als trellis/certs/{{ env }}
zu speichern:
# Standardmäßig trellis/certs/env - wobei env Entwicklung, Staging oder Produktion ist
trellis_ca_certificates_local_dir: custom-local-directory/{{ env }}
Fernzielverzeichnis
Es sei denn, Sie haben Ihr entferntes OpenSSL so konfiguriert, dass es nach Zertifikaten in einem anderen Verzeichnis sucht, müssen Sie diese Einstellung nicht ändern.
# Standardmäßig zugänglicher Speicherdienst von OpenSSL unter 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