craigpearson.trellis_ca_certificates

Trellis CA証明書

Trellis Ansibleロールは、OpenSSLの信頼ストアにカスタムCA証明書を追加します。MySQLのSSL/TLS接続が必要なDigital Ocean Managed Databasesでの使用に最適です。

必要条件

インストール

要件に追加

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

プロビジョニングプレイブックに含める

この機能をステージング/本番サーバに追加するには、trellis/server.ymlにこのロールを含めます。

# trellis/server.yml
...
- name: WordPressサーバ - PHP 7.3とMariaDB MySQLでLEMPスタックをインストール
  hosts: web:&{{ env }}
  become: yes
  roles:
    - { role: common, tags: [common] }
    ...
    - { role: sshd, tags: [sshd] }
    - { role: trellis-ca-certificates, tags: [ca-certificates] } # 推奨される追加箇所
    - { role: mariadb, tags: [mariadb] }

開発サーバにこの機能が必要な場合は、trellis/dev.ymlにも追加してください。

含める証明書を設定

本番環境では、trellis/group_vars/production/main.ymlに追加します。

# trellis/group_vars/production/main.yml
trellis_ca_certificates_trusted:
  # ローカルソース:      trellis/certs/production/example-certificate.crt
  # リモート先:        /usr/local/share/ca-certificates/database.crt
  - name: database
    src: example-certificate.crt

.crtファイルを含める

デフォルトでは、このロールはtrellis/certs内で証明書を探します。例:

trellis/
├── bin/
├── certs/                            # → ソース証明書フォルダー
│   ├── development/                  # → 開発用証明書
│   ├── staging/                      # → ステージング用証明書
│   └── production/                   # → 本番用証明書
│       └── example-certificate.crt
└── deploy-hooks/

あとはプロビジョニングを行うだけです。

ロール変数

カスタム証明書を設定

設定に必要な唯一の変数は、信頼する証明書ソースのリストです。これをtrellis/group_vars/{{ env }}/main.ymlに置きます({{ env }}は開発、ステージング、または本番です)。

注意: ソース証明書は名前が変更され、指定された場所に配置されます。例:

# 可能な値の例、デフォルトは[]
trellis_ca_certificates_trusted:
  # ローカルソース:      trellis/certs/{{ env }}/example-certificate.crt
  # リモート先:        /usr/local/share/ca-certificates/database.crt
  - name: database
    src: example-certificate.crt
  # ローカルソース:      trellis/certs/{{ env }}/db-master.crt
  # リモート先:        /usr/local/share/ca-certificates/database/master.crt
  - name: database/master
  - src: db-master.crt
  # ローカルソース:      trellis/certs/{{ env }}/db-slave.crt
  # リモート先:        /usr/local/share/ca-certificates/database/slave.crt
  - name: database/slave
  - src: db-slave.crt

ソースディレクトリ

証明書ファイルをtrellis/certs/{{ env }}以外のフォルダーに保存する場合:

# デフォルトはtrellis/certs/env - envは開発、ステージングまたは本番
trellis_ca_certificates_local_dir: custom-local-directory/{{ env }}

リモート先ディレクトリ

リモートOpenSSLが異なるディレクトリで証明書を探すように設定していない限り、これを変更する必要はありません。

# Ubuntu 18.04のOpenSSL信頼ストアのデフォルト
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
ライセンス
gpl-3.0
ダウンロード
3.3k
所有者
Just another WordPress developer