https://github.com/x70b1/ansible-zonefile
Maintain the existence and SOA settings for a zone file managed by Knot DNS.
https://github.com/x70b1/ansible-zonefile
ansible knot
Last synced: about 2 months ago
JSON representation
Maintain the existence and SOA settings for a zone file managed by Knot DNS.
- Host: GitHub
- URL: https://github.com/x70b1/ansible-zonefile
- Owner: x70b1
- License: unlicense
- Created: 2023-10-24T19:54:31.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-09-11T22:26:21.000Z (10 months ago)
- Last Synced: 2025-09-12T01:03:19.265Z (10 months ago)
- Topics: ansible, knot
- Language: Shell
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ansible-zonefile
[](https://github.com/x70b1/ansible-zonefile/actions)
[](https://github.com/x70b1/ansible-zonefile/graphs/contributors)
[](https://github.com/x70b1/ansible-zonefile/blob/master/LICENSE)
Maintain the existence and SOA settings for a zone file managed by [Knot DNS](https://www.knot-dns.cz/).
This works fine together with [StackExchange/dnscontrol](https://github.com/StackExchange/dnscontrol).
## Setup
Clone this repo to the Ansible Library in your current project:
```
git clone https://github.com/x70b1/ansible-zonefile.git library/
```
## How to use
Background knowledge of the structure of an [SOA record](https://en.wikipedia.org/wiki/SOA_record) is highly recommended.
The module supports the following arguments:
```yaml
- name: "Zonefile"
zonefile:
name: example.org
ttl: 14400
mname: ns1.example.org
rname: mail@example.org
refresh: 3600
retry: 600
expire: 1209600
minimum: 600
```
You can use a preformatted `mname` and `rname` but you have to use escaped backslashes:
```yaml
- name: "Zonefile"
zonefile:
...
mname: ns1.example.org.
rname: we\\.are\\.online.example.org. # we.are.online@example.org
...
```