nl2go.cloudflare_dns
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によって作成されました。
インストール
ansible-galaxy install nl2go.cloudflare_dns
ライセンス
mit
ダウンロード
5.5k