Select Git revision
main.yml 1.63 KiB
---
# tasks file for nsd
- name: Assertions
assert:
that:
- ansible_os_family in nsd_user
- ansible_os_family in aliases_file
- nsd_server_block is defined
- nsd_remote_control_block is defined
- nsd_patterns is iterable
- nsd_keys is iterable
- nsd_zones is iterable
- name: APT install NSD
when: ansible_pkg_mgr == 'apt'
apt:
name: nsd
state: present
update_cache: yes
cache_valid_time: 3600
- name: Create zones directory
file:
path: '{{ nsd_zones_dir }}'
state: directory
owner: root
group: 0
mode: 0o755
- name: Configure
template:
src: nsd.conf.j2
dest: '{{ nsd_conf }}'
owner: root
group: 0
mode: 0o0644
notify:
- Restart NSD
- name: Copy zone templates
with_fileglob:
- '{{ role_path }}/templates/nsd/zones/*'
- '{{ playbook_dir }}/templates/nsd/zones/*'
template:
src: '{{ item }}'
dest: '{{ nsd_zones_dir }}/'
owner: root
group: 0
mode: 0o644
notify:
- Restart NSD
- name: Alias emails to root
when: nsd_mail_alias is defined
lineinfile:
dest: '{{ aliases_file[ansible_os_family] }}'
create: yes
line: '{{ nsd_user[ansible_os_family] }}: {{ nsd_mail_alias }}'
regexp: '{{ nsd_user[ansible_os_family] }}:'
notify:
- Update SMTPd database
- name: Validate config
command: 'nsd-checkconf {{ nsd_conf }}'
changed_when: False
- name: Enable NSD
service:
name: nsd
enabled: yes
state: started
- meta: flush_handlers
- name: Wait for NSD to recieve requests
wait_for:
port: 53