craigpearson.trellis_ca_certificates

Certyfikaty CA Trellis

Rola Ansible Trellis do dodawania własnych certyfikatów CA do zaufanego repozytorium OpenSSL. Idealna do używania z Zarządzanymi Bazami Danych Digital Ocean, które wymagają połączeń SSL/TLS dla MySQL.

Wymagania

Instalacja

Dodaj do wymagań

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

Dołącz do skryptu provisioning

Aby dodać tę funkcjonalność na serwerach staging/produkcji, włącz tę rolę w trellis/server.yml

# trellis/server.yml
...
- name: Serwer WordPress - Instalacja stosu LEMP z PHP 7.3 i MariaDB MySQL
  hosts: web:&{{ env }}
  become: yes
  roles:
    - { role: common, tags: [common] }
    ...
    - { role: sshd, tags: [sshd] }
    - { role: trellis-ca-certificates, tags: [ca-certificates] } # Zalecane miejsce dołączenia
    - { role: mariadb, tags: [mariadb] }

Jeśli potrzebujesz tej funkcjonalności na serwerze deweloperskim, dodaj to także do trellis/dev.yml.

Ustaw certyfikaty do włączenia

W produkcji dodaj do trellis/group_vars/production/main.yml

# trellis/group_vars/production/main.yml
trellis_ca_certificates_trusted:
  # Lokalna ścieżka:         trellis/certs/production/example-certificate.crt
  # Zdalny cel:             /usr/local/share/ca-certificates/database.crt
  - name: database
    src: example-certificate.crt

Dołącz pliki .crt

Domyślnie ta rola przeszukuje folder trellis/certs w poszukiwaniu certyfikatów, przykład:

trellis/
├── bin/
├── certs/                            # → Folder źródłowy certyfikatów
│   ├── development/                  # → Certyfikaty deweloperskie
│   ├── staging/                      # → Certyfikaty stagingowe
│   └── production/                   # → Certyfikaty produkcyjne
│       └── example-certificate.crt
└── deploy-hooks/

Teraz wystarczy przeprowadzić provisioning.

Zmienne roli

Konfiguracja własnych certyfikatów

Jedyną zmienną potrzebną do konfiguracji jest lista zaufanych źródeł certyfikatów. Powinna być umieszczona w trellis/group_vars/{{ env }}/main.yml, gdzie {{ env }} to development, staging lub production.

Uwaga: Twój certyfikat źródłowy jest przemianowywany i umieszczany w docelowej lokalizacji zgodnie z określoną w name, przykład:

# Przykład możliwych wartości, domyślnie wartość to []
trellis_ca_certificates_trusted:
  # Lokalna źródło:         trellis/certs/{{ env }}/example-certificate.crt
  # Zdalny cel:             /usr/local/share/ca-certificates/database.crt
  - name: database
    src: example-certificate.crt
  # Lokalna źródło:         trellis/certs/{{ env }}/db-master.crt
  # Zdalny cel:             /usr/local/share/ca-certificates/database/master.crt
  - name: database/master
  - src: db-master.crt
  # Lokalna źródło:         trellis/certs/{{ env }}/db-slave.crt
  # Zdalny cel:             /usr/local/share/ca-certificates/database/slave.crt
  - name: database/slave
  - src: db-slave.crt

Katalog źródłowy

Aby przechowywać pliki certyfikatów w folderze innym niż trellis/certs/{{ env }}:

# Domyślnie trellis/certs/env - gdzie env to development, staging lub production
trellis_ca_certificates_local_dir: custom-local-directory/{{ env }}

Zdalny katalog docelowy

Chyba że skonfigurowałeś swój zdalny OpenSSL do szukania certyfikatów w innym katalogu, nie powinieneś tego zmieniać.

# Domyślnie zaufane repozytorium OpenSSL na Ubuntu 18.04
trellis_ca_certificates_remote_dir: /usr/local/share/ca-certificates
O projekcie

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

Zainstaluj
ansible-galaxy install craigpearson.trellis_ca_certificates
Licencja
gpl-3.0
Pobrania
3.3k
Właściciel
Just another WordPress developer