---
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# dns-nsd/tasks/main.yml

- name: Install nsd
  apt:
    name: "{{ item }}"
    state: present
    update_cache: yes
    cache_valid_time: 3600
  with_items:
    - nsd
  register: nsd_install

- name: Stop nsd until configured
  when: nsd_install.changed
  service:
    name: nsd
    enabled: no
    state: stopped
  tags:
    - skip_ansible_lint # need to down service before configured

- name: Create nsd zones directory
  file:
    name: "{{ nsd_zonesdir }}"
    state: directory
    mode: 0755
    owner: root
    group: "{{ nsd_group }}"

- name: Create nsd.conf from template
  template:
    src: nsd.conf.j2
    dest: "{{ nsd_conf }}"
    mode: 0644
    owner: root
    group: "{{ nsd_group }}"
  notify:
    - restart-nsd

- name: Create forward zonefiles from template
  template:
    src: zone.forward.j2
    dest: "{{ nsd_zonesdir }}/{{ item.name }}.forward"
    mode: 0644
    owner: root
    group: "{{ nsd_group }}"
  with_items: "{{ nsd_zones }}"
  notify:
    - reload-nsd

- name: Create reverse zonefiles from template
  template:
    src: zone.reverse.j2
    dest: "{{ nsd_zonesdir }}/{{ item.name }}.reverse"
    mode: 0644
    owner: root
    group: "{{ nsd_group }}"
  with_items: "{{ nsd_zones }}"
  notify:
    - reload-nsd

- name: flush nsd handlers
  meta: flush_handlers

