61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
---
|
|
# tasks file for roles/powerdns-recursor
|
|
- name: "add powerdns-recursor repository"
|
|
become: true
|
|
block:
|
|
- name: Check if powerdns repo apt key exists
|
|
stat:
|
|
path: "/etc/apt/trusted.gpg.d/{{ repo_signed_key }}"
|
|
register: key_stat
|
|
ignore_errors: yes
|
|
|
|
- name: Download powerdns repo apt key if needed
|
|
become: true
|
|
get_url:
|
|
url: https://repo.powerdns.com/FD380FBB-pub.asc
|
|
dest: "/etc/apt/trusted.gpg.d/{{ repo_signed_key }}"
|
|
when: key_stat.stat.exists == False or key_stat.stat.checksum != 'sha256:checksum_of_the_source_key'
|
|
|
|
- name: "powerdns-recursor {{ powerdns_version }} repo"
|
|
become: true
|
|
apt_repository:
|
|
repo: deb [arch=amd64] {{ repo_uri }} {{ repo_components }}
|
|
state: "{{ repo_state }}"
|
|
update_cache: yes
|
|
filename: powerdns-rec-{{ powerdns_version }}
|
|
|
|
- name: "install powerdns-recursor {{ powerdns_version }}"
|
|
become: true
|
|
apt:
|
|
name: "pdns-recursor{{ deb_powerdns_version }}"
|
|
autoremove: true
|
|
update_cache: true
|
|
|
|
- name: "configure powerdns-recursor"
|
|
become: true
|
|
block:
|
|
- name: "download root.zone"
|
|
get_url:
|
|
url: https://www.internic.net/domain/root.zone
|
|
dest: /etc/powerdns/root.zone
|
|
when: root_cached == 'file'
|
|
|
|
- name: "template powerdns-recursor configs"
|
|
become: true
|
|
template:
|
|
src: "templates{{ file }}.j2"
|
|
dest: "{{ file }}"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
loop:
|
|
- /etc/powerdns/recursor.conf
|
|
- /etc/powerdns/recursor.lua
|
|
- /etc/powerdns/recursor.d/allow.lst
|
|
- /etc/powerdns/recursor.d/forward.lst
|
|
- /etc/powerdns/recursor.d/dns-script.lua
|
|
loop_control:
|
|
loop_var: file
|
|
notify:
|
|
- Restart powerdns-recursor
|