Infrastructure/DNS
Schema
| Property |
Type |
Description |
listen_address |
string |
Address the DNS server listens on |
listen_port |
integer |
Port the DNS server listens on (default: 53) |
zones |
array of objects |
DNS zones served by this server |
zones[].name |
string |
Zone name (e.g., example.com) |
zones[].type |
string |
Zone type (master or slave) |
zones[].file |
string |
Path to the zone file |
allow_transfer |
array of strings |
IP addresses allowed to perform zone transfers |
recursion |
boolean |
Whether to enable recursion (default: false) |
These properties are common across all DNS server implementations. Sub-types add application-specific settings.
Sub-types
| Sub-type |
Application |
| DNS/BIND |
BIND (named) — most widely deployed DNS server |
| DNS/PowerDNS |
PowerDNS — database-backed authoritative server with API |
| DNS/CoreDNS |
CoreDNS — plugin-based DNS server, Kubernetes default |
| DNS/Knot |
Knot DNS — high-performance authoritative server |
Example
_type: amadla.org/entity/infrastructure/dns@v1.0.0
_body:
listen_address: 0.0.0.0
listen_port: 53
zones:
- name: example.com
type: master
file: /etc/dns/zones/example.com.zone
- name: 168.192.in-addr.arpa
type: master
file: /etc/dns/zones/192.168.rev
allow_transfer:
- 10.0.0.2
- 10.0.0.3
recursion: false
Consumers
| Tool |
How It Uses Infrastructure/DNS |
| raise |
Provisions infrastructure for DNS servers |
| lay |
Installs the DNS server application |
| weaver |
Generates zone files and server configuration |
| enjoin-service |
Enables/starts the DNS service |