nl2go.cloudflare_dns

Ansible角色:Cloudflare DNS

一个管理Cloudflare DNS的Ansible角色。基于官方的Ansible模块cloudflare_dns

先决条件

角色变量

可用变量如下,附带默认值(见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年创建。

关于项目

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

安装
ansible-galaxy install nl2go.cloudflare_dns
许可证
mit
下载
5.5k