coredns
Ansible Role: CoreDNS
Installs CoreDNS on Linux and configure the service and template DNS zones.
Requirements
None.
Role Variables
Variable | Type | Description |
---|---|---|
coredns_version |
string | Version of CoreDNS to install |
coredns_dns_port |
number | Listen port of CoreDNS service |
coredns_forwarders |
list(string) | List of DNS server where to forward request if CoreDNS server don't have the answer |
coredns_acls |
list(object) | List of acls object defining who can/can't make DNS queries through the CoreDNS instance |
coredns_zones |
list(object) | Liste of zone object defining DNS zone where the CoreDNS server have authority |
coredns_cache_prefetch |
object | Parameters to configure cache prefetch of the CoreDNS cache plugin |
coredns_cache_serve_stale |
object | Parameters to configure cache serve stale of the CoreDNS cache plugin |
coredns_ttl |
object | Parameters to configure cache TTL of the CoreDNS cache plugin |
ACL
This section explain how to configure the CoreDNS acl plugin using the coredns_acls
variable.
A CoreDNS acl
define who can/can't make DNS queries through the CoreDNS instance.
Each acl
is defined with the following attributes :
Attribute | Type | Description |
---|---|---|
cidr |
string | An IP CIDR (@IP or range) |
action |
string | Action to apply when a client from that CIDR make a query |
Zone
This section explain how to configure zones using the CoreDNS file plugin using the coredns_zones
variable.
Each zone is defined with the following attributes :
Attribute | Type | Description |
---|---|---|
name |
string | The name of the DNS zone |
zone |
string | Hostname of the zone (example.org for example) |
file |
string | The name of the zone database file |
template |
string | Path of the zone database template file |
Dependencies
None.
Example Playbook
- hosts: localhost
vars:
coredns_forwarders:
- 9.9.9.9
coredns_acls:
- cidr: 192.168.0.0/24
action: allow
coredns_zones:
- name: my-zone
zone: my-zone.fr
file: db.my-zone.fr
template: templates/dbs/my-zone.fr
roles:
- lunik.coredns
License
Author Information
This role was created in 2019 by Lunik (Guillaume MARTINEZ).
Maintainer(s)
Install
ansible-galaxy install Lunik/ansible_role_coredns
License
mit
Downloads
126
Owner
Ansible, GitLab, k8s/helm, Terraform, OCI Contributor