bendews.letsencrypt-cloudflare

ビルドステータス

LetsEncrypt-Cloudflare

この役割は、CloudflareをDNSプロバイダーとして利用する際に、LetsEncrypt証明書を更新するプロセスを簡略化します。

要件

  • Python >= 2.6
  • OpenSSL(サポートされている場合、自動的にインストールされます)

役割変数

使用可能な変数は以下にリストされています。デフォルト値も含まれています(変更可能な多くの変数についてはdefaults/main.ymlを参照してください)。

必須項目:

letsencrypt_email: ""
cloudflare_email: ""
cloudflare_api_key: "" # 指定されたCloudflareアカウントの「グローバル」APIキー
cloudflare_domain: "" # エントリを作成するためのCloudflareホストDNSゾーン

重要な注意事項:

デフォルトでは、この役割はインベントリのホスト名をコモンネームとして証明書を要求し、生成された/受信した証明書ファイルをすべて /etc/ssl/[Certificate Common Name] に配置し、すべてのLetsEncryptアカウントファイルを /etc/ssl/lets_encrypt に配置します。これらのパスはすべてオーバーライド可能です(defaults/main.ymlを参照)。

さらに、証明書ファイルは生成後に別の場所にコピーして名前を変更することもできます。以下の変数を変更してください:

copy_csr_full_path: ""
copy_crt_full_path: ""
copy_key_full_path: ""
copy_intermediate_full_path: "" # include_intermediateを'yes'に設定する必要があります
copy_fullchain_full_path: "" # include_intermediateを'yes'に設定する必要があります

この役割はデフォルトで「ステージング」LetsEncryptエンドポイントを使用します。これにより、機能的には正しいが信頼されていない証明書が生成されます。正当な証明書を生成するには、以下を設定してください:

letsencrypt_production: yes

生成されたファイルは、使用後に以下の変数を指定することで削除できます:

cleanup_all: yes

例のプレイブック

- hosts: servers
  tasks:
    - name: SSL証明書を更新/ダウンロードする
      include_role:
        name: letsencrypt-cloudflare
      vars:
        letsencrypt_email: "[email protected]"
        cloudflare_email: "[email protected]"
        cloudflare_domain: "abc.com"
        cloudflare_api_key: "AAABBBCCCDDDEEE111222333"
        letsencrypt_production: yes
        include_intermediate: yes

TODO:

  • 複数のCNのサポートを追加する

ライセンス

MIT

作者情報

2017年にBen Dewsによって作成されました。

プロジェクトについて

LetsEncrypt renewal using Cloudflare DNS

インストール
ansible-galaxy install bendews.letsencrypt-cloudflare
ライセンス
mit
ダウンロード
4.5k
所有者
Engineer with a passion for network & infrastructure automation