Manage DNS servers using Ansible #93
5 changed files with 73 additions and 0 deletions
22
playbooks/kresd.yml
Executable file
22
playbooks/kresd.yml
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env ansible-playbook
|
||||||
|
---
|
||||||
|
- hosts:
|
||||||
|
- dns-1.int.infra.auro.re
|
||||||
|
vars:
|
||||||
|
kresd__listen:
|
||||||
|
- address: 0.0.0.0
|
||||||
|
port: 53
|
||||||
|
kind: dns
|
||||||
|
- address: "::"
|
||||||
|
port: 53
|
||||||
|
kind: dns
|
||||||
|
- address: 0.0.0.0
|
||||||
|
port: 853
|
||||||
|
kind: tls
|
||||||
|
- address: "::"
|
||||||
|
port: 853
|
||||||
|
kind: tls
|
||||||
|
kresd__cache_size: 256
|
||||||
|
roles:
|
||||||
|
- kresd
|
||||||
|
...
|
4
roles/kresd/defaults/main.yml
Normal file
4
roles/kresd/defaults/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
kresd__listen: []
|
||||||
|
kresd__freebind: true
|
||||||
|
kresd__cache_size: 128
|
5
roles/kresd/handlers/main.yml
Normal file
5
roles/kresd/handlers/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- name: Restart kresd
|
||||||
|
systemd:
|
||||||
|
name: kresd@1.service
|
||||||
|
state: restarted
|
21
roles/kresd/tasks/main.yml
Normal file
21
roles/kresd/tasks/main.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
- name: Install knot-resolver
|
||||||
|
apt:
|
||||||
|
name: knot-resolver
|
||||||
|
|
||||||
|
- name: Configure kresd
|
||||||
|
template:
|
||||||
|
src: kresd.conf.j2
|
||||||
|
dest: /etc/knot-resolver/kresd.conf
|
||||||
|
owner: root
|
||||||
|
group: knot-resolver
|
||||||
|
mode: u=rw,g=r,o=
|
||||||
|
notify:
|
||||||
|
- Restart kresd
|
||||||
|
|
||||||
|
- name: Enable and start kresd
|
||||||
|
systemd:
|
||||||
|
name: kresd@1.service
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
...
|
21
roles/kresd/templates/kresd.conf.j2
Normal file
21
roles/kresd/templates/kresd.conf.j2
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{{ ansible_managed | comment(decoration="-- ") }}
|
||||||
|
|
||||||
|
{% for listen in kresd__listen %}
|
||||||
|
net.listen(
|
||||||
|
{{ listen.address | enquote }},
|
||||||
|
{{ listen.port | int }},
|
||||||
|
{
|
||||||
|
kind = {{ listen.kind | enquote }},
|
||||||
|
freebind = {{ listen.freebind
|
||||||
|
| default(kresd__freebind) }},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
modules = {
|
||||||
|
'hints > iterate',
|
||||||
|
'stats',
|
||||||
|
'predict',
|
||||||
|
}
|
||||||
|
|
||||||
|
cache.size = {{ kresd__cache_size | int }} * MB
|
Loading…
Reference in a new issue