|
|
|
---
|
|
|
|
|
|
|
|
- name: Store mapping for dns server in local list
|
|
|
|
copy:
|
|
|
|
content: "{{ inventory_hostname }}\n"
|
|
|
|
dest: "{{ dns_list_file }}"
|
|
|
|
owner: "{{ local_user }}"
|
|
|
|
group: "{{ local_user }}"
|
|
|
|
mode: "u=rw,g=r,o="
|
|
|
|
delegate_to: localhost
|
|
|
|
|
|
|
|
- name: Create zone directory writeable
|
|
|
|
file:
|
|
|
|
path: "{{ domain_directory }}"
|
|
|
|
state: directory
|
|
|
|
owner: root
|
|
|
|
group: "{{ dns_user }}"
|
|
|
|
mode: u=rwx,g=rwx,o=
|
|
|
|
|
|
|
|
- name: Create other zone directories readable
|
|
|
|
file:
|
|
|
|
path: "{{ item }}"
|
|
|
|
state: directory
|
|
|
|
owner: root
|
|
|
|
group: "{{ dns_user }}"
|
|
|
|
mode: u=rwx,g=rx,o=
|
|
|
|
loop:
|
|
|
|
- "{{ keys_directory }}"
|
|
|
|
- "{{ domain_environment_directory }}"
|
|
|
|
|
|
|
|
- name: Determine if keys are generated already
|
|
|
|
find:
|
|
|
|
paths: "{{ keys_directory }}"
|
|
|
|
patterns: "K{{ domain }}.+*+*"
|
|
|
|
register: keys_found
|
|
|
|
|
|
|
|
- name: Generate keys for zone {{ domain }}
|
|
|
|
include_tasks: generate_keys.yml
|
|
|
|
when: keys_found.matched < 2
|
|
|
|
|
|
|
|
- name: Store main database of zone {{ domain }}
|
|
|
|
template:
|
|
|
|
src: zone.db
|
|
|
|
dest: "{{ domain_environment_directory }}/0_main.db"
|
|
|
|
owner: root
|
|
|
|
group: "{{ dns_user }}"
|
|
|
|
mode: "u=rw,g=r,o=r"
|
|
|
|
validate: "named-checkzone {{ domain }} %s"
|
|
|
|
notify: rebuild dns zones
|
|
|
|
|
|
|
|
- name: Configure zone {{ domain }}
|
|
|
|
template:
|
|
|
|
src: zone.conf
|
|
|
|
dest: "{{ configuration_file }}"
|
|
|
|
owner: root
|
|
|
|
group: "{{ dns_user }}"
|
|
|
|
mode: "u=rw,g=r,o=r"
|
|
|
|
validate: "named-checkconf %s"
|
|
|
|
notify: reload bind9
|
|
|
|
|
|
|
|
- name: Include configuration file of zone {{ domain }}
|
|
|
|
lineinfile:
|
|
|
|
path: "{{ zones_configuration }}"
|
|
|
|
state: present
|
|
|
|
line: "include \"{{ configuration_file }}\";"
|
|
|
|
validate: "named-checkconf %s"
|
|
|
|
notify: reload bind9
|
|
|
|
|
|
|
|
- meta: flush_handlers
|