You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.7 KiB
YAML

---
- name: Create zone directories
file:
path: "{{ item }}"
state: directory
owner: root
group: root
mode: "u=rwx,g=rx"
loop:
- "{{ domain_directory }}"
- "{{ domain_environment_directory }}"
- name: Upload makefile to domain zone configuration environment
template:
src: zone.makefile
dest: "{{ domain_environment_directory }}/makefile"
owner: root
group: root
mode: "u=rw,g=r,o=r"
- name: Create link in domain zone configuration environment
file:
state: link
src: "{{ domain_directory }}"
dest: "{{ domain_environment_link }}"
- name: Determine if keys are generated already
find:
paths: "{{ domain_directory }}"
patterns: "K{{ domain }}.+*+*"
register: keys_found
- name: Generate keys for zone {{ domain }}
include_tasks: generate_keys.yml
when: keys_found.matched < 2
- name: Find generated public keys
find:
paths: "{{ domain_directory }}"
patterns: "K{{ domain }}.+*+*.key"
register: keys_list
- 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: reconfigure zone {{ domain }}
- 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