nl2go.cloudflare_dns

Travis (.org) branch Ansible Galaxy GitHub tag (latest by date) Ansible Galaxy Downloads

Ansibleロール: Cloudflare DNS

これはCloudflare DNSを管理するAnsibleロールです。cloudflare_dnsという公式のAnsibleモジュールに基づいています。

前提条件

  • 既存のCloudflareアカウントが必要です。
  • CloudflareアカウントのグローバルAPIキーへのアクセスが必要です。

ロール変数

使用可能な変数は以下に示されており、デフォルト値も記載されています(defaults/main.ymlを参照):

cloudflare_dns_account_email: average.joe@example.org

Cloudflareアカウント用のメールアドレスです。

cloudflare_dns_account_api_token: 123abc456efg

Cloudflareアカウント用のグローバルAPIトークンです。

cloudflare_dns_zone: example.org

デフォルトのターゲットDNSゾーンです。

cloudflare_dns_records:
  - name: foo
    value: 127.0.0.1

cloudflare_dns_recordsを使用してカスタムDNSレコードを指定します。

cloudflare_dns_records:
  - name: foo
    value: 127.0.0.1
    zone: example.com

特定のDNSエントリのためにDNSゾーンを上書きするにはzoneを使用します。

cloudflare_dns_records:
  - name: foo
    value: 127.0.0.1
    state: absent

DNSレコードを削除するには、state: absentを追加します。

cloudflare_dns_host_records:
  - name: "{{ inventory_hostname }}"
    value: "{{ hostvars[inventory_hostname].ansible_default_ipv4.address }}"

インベントリホストのDNSレコードは、上記のテンプレートに基づいて自動的に作成されます。

cloudflare_dns_all_records: "{{ cloudflare_dns_host_records + cloudflare_dns_records }}"

すべての管理されたDNSレコードはcloudflare_dns_all_records変数に結合されます。

タグ

タグを使用してロールの実行を特定のタスクモジュールに制限できます。利用可能なタグは以下の通りです:

  • cloudflare_dns, config: フルロールライフサイクルをカバーします。

依存関係

なし。

例のプレイブック

- hosts: all
  roles:
     - nl2go.cloudflare_dns
          

開発

Docker Moleculeを使用し、Moleculeを実行する手順に従うか、ローカルにMoleculeをインストールします(推奨されません。バージョンの衝突が発生する可能性があります)。

環境変数を使用してCloudflare API認証情報を提供します:

export CLOUDFLARE_DNS_ACCOUNT_EMAIL[email protected]
export CLOUDFLARE_DNS_ACCOUNT_API_TOKEN=123abc456efg

テストを実行するには、次のコマンドを使用します:

molecule test --all
   

メンテイナー

ライセンス

詳細についてはLICENSE.mdファイルを参照してください。

著者情報

このロールは2020年にNewsletter2Go GmbHによって作成されました。

プロジェクトについて

Manage Cloudflare DNS (https://api.cloudflare.com) using Ansible.

インストール
ansible-galaxy install nl2go.cloudflare_dns
ライセンス
mit
ダウンロード
5.5k