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

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
Über das Projekt

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

Installieren
ansible-galaxy install craigpearson.trellis_ca_certificates
Lizenz
gpl-3.0
Downloads
3.3k
Besitzer
Just another WordPress developer