nl2go.cloudflare_dns
Ansible角色:Cloudflare DNS
一个管理Cloudflare DNS的Ansible角色。基于官方的Ansible模块cloudflare_dns。
先决条件
- 已有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
使用zone
覆盖特定DNS条目的DNS区域。
cloudflare_dns_records:
- name: foo
value: 127.0.0.1
state: absent
添加state: absent
以确保删除DNS记录。
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文件以获取详细信息。
作者信息
此角色由Newsletter2Go GmbH于2020年创建。
安装
ansible-galaxy install nl2go.cloudflare_dns
许可证
mit
下载
5.5k