ansible/roles/nsd/tasks/main.yml

85 lines
1.8 KiB
YAML
Raw Permalink Normal View History

---
- name: Install nsd
package:
name: nsd
state: present
- name: Add /var/log/nsd to fstab
mount:
path: /var/log/nsd
src: tmpfs
fstype: tmpfs
opts: 'rw,size={{ nsd_log_size }},mode={{ nsd_log_mode }},uid={{ nsd_log_uid }},gid={{ nsd_log_gid }},late'
state: mounted
- name: Create nsd service directories
file:
path: '{{ s6_etc_dir }}/service/{{ item }}'
state: directory
owner: root
group: wheel
mode: 0755
with_items: '{{ nsd_service_dirs }}'
notify:
- Reload s6-rc
- Restart nsd log
- Restart nsd
- name: Generate nsd service scripts
template:
dest: '{{ s6_etc_dir }}/service/{{ item }}'
src: '{{ item }}.j2'
mode: 0555
owner: root
group: wheel
with_items: '{{ nsd_service_scripts }}'
notify:
- Reload s6-rc
- Restart nsd log
- Restart nsd
- name: Generate nsd service configuration
copy:
dest: '{{ s6_etc_dir }}/service/{{ item.name }}'
content: '{{ item.content }}'
mode: 0444
owner: root
group: wheel
loop_control:
label: '{{ item.name }} = {{ item.content }}'
notify:
- Reload s6-rc
- Restart nsd log
- Restart nsd
with_items: '{{ nsd_service_config }}'
- name: Configure nsd
template:
dest: /usr/local/etc/nsd/nsd.conf
src: nsd.conf.j2
mode: 0444
owner: root
group: wheel
notify:
- Reload nsd
- name: Flush handlers
meta: flush_handlers
- name: Start nsd
command: fdmove -c 2 1 s6-rc -l {{ s6_live_dir }} -u -v 2 -t 15000 change nsd
register: change
changed_when: change.stdout | length > 0
- name: Enable nsd
lineinfile:
path: '{{ s6_etc_dir }}/service/enabled/contents'
regexp: "^nsd$"
line: nsd
state: present
notify:
- Reload s6-rc
- name: Flush handlers (again)
meta: flush_handlers