2022-02-21 20:41:31 +00:00
|
|
|
---
|
|
|
|
|
2022-12-28 21:05:01 +00:00
|
|
|
- name: Include OS-specific variables
|
2023-02-08 20:47:45 +00:00
|
|
|
ansible.builtin.include_vars: "{{ ansible_os_family }}.yml"
|
2022-02-21 20:41:31 +00:00
|
|
|
|
2022-04-04 14:00:11 +00:00
|
|
|
- name: Install bind and dependencies
|
2023-02-08 16:56:13 +00:00
|
|
|
ansible.builtin.package:
|
2022-02-21 20:41:31 +00:00
|
|
|
name: "{{ item }}"
|
|
|
|
state: present
|
|
|
|
with_items: "{{ bind_package_names }}"
|
|
|
|
|
2022-04-04 14:00:11 +00:00
|
|
|
- name: Create logging directory
|
2023-02-08 16:56:13 +00:00
|
|
|
ansible.builtin.file:
|
2022-02-21 20:41:31 +00:00
|
|
|
path: "{{ bind_log_directory }}"
|
|
|
|
owner: "{{ bind_unix_user }}"
|
|
|
|
group: "{{ bind_unix_group }}"
|
|
|
|
mode: 0755
|
|
|
|
state: directory
|
2023-02-08 16:56:13 +00:00
|
|
|
recurse: true
|
2022-02-21 20:41:31 +00:00
|
|
|
|
2022-04-04 14:00:11 +00:00
|
|
|
- name: Create config directory
|
2023-02-08 16:56:13 +00:00
|
|
|
ansible.builtin.file:
|
2022-04-04 14:00:11 +00:00
|
|
|
path: "{{ bind_config_directory }}"
|
|
|
|
owner: "{{ bind_unix_user }}"
|
|
|
|
group: "{{ bind_unix_group }}"
|
|
|
|
mode: 0755
|
|
|
|
state: directory
|
2023-02-08 16:56:13 +00:00
|
|
|
recurse: true
|
2022-04-04 14:00:11 +00:00
|
|
|
|
|
|
|
- name: Remove existing journal files
|
2022-02-21 20:41:31 +00:00
|
|
|
block:
|
2023-02-08 20:47:45 +00:00
|
|
|
- name: Find existing journal files
|
|
|
|
ansible.builtin.find:
|
2022-02-21 20:41:31 +00:00
|
|
|
path: "{{ bind_config_directory }}"
|
2023-02-08 16:56:13 +00:00
|
|
|
recurse: true
|
2022-02-21 20:41:31 +00:00
|
|
|
patterns: "*.jnl"
|
|
|
|
register: files_to_delete
|
2023-02-08 20:47:45 +00:00
|
|
|
- name: Delete existing journal files
|
2023-02-08 16:56:13 +00:00
|
|
|
ansible.builtin.file:
|
2022-02-21 20:41:31 +00:00
|
|
|
path: "{{ item.path }}"
|
|
|
|
state: absent
|
|
|
|
with_items: "{{ files_to_delete.files }}"
|
|
|
|
|
|
|
|
|
|
|
|
# - name: copy zone files
|
|
|
|
# include_tasks: copy_zone_files.yml
|
|
|
|
# with_items:
|
|
|
|
# - "{{ bind9_views }}"
|
|
|
|
# loop_control:
|
|
|
|
# loop_var: view
|
|
|
|
|
2022-04-04 14:00:11 +00:00
|
|
|
- name: Create DNS-Zone files
|
2023-02-08 20:47:45 +00:00
|
|
|
ansible.builtin.include_tasks: template_zone_files.yml
|
2022-02-21 20:41:31 +00:00
|
|
|
with_items:
|
|
|
|
- "{{ bind9_views }}"
|
|
|
|
loop_control:
|
|
|
|
loop_var: view
|
|
|
|
|
2022-04-04 14:00:11 +00:00
|
|
|
- name: Create main configuration file
|
2023-02-08 16:56:13 +00:00
|
|
|
ansible.builtin.template:
|
2022-04-04 14:00:11 +00:00
|
|
|
src: "etc/named.conf.j2"
|
|
|
|
dest: "{{ bind_main_config }}"
|
|
|
|
owner: "{{ bind_unix_user }}"
|
|
|
|
group: "{{ bind_unix_group }}"
|
|
|
|
mode: 0644
|
|
|
|
notify: restart named
|
|
|
|
|
|
|
|
- name: Create excluded configuration files
|
2023-02-08 16:56:13 +00:00
|
|
|
ansible.builtin.template:
|
2022-02-21 20:41:31 +00:00
|
|
|
src: "{{ item }}.j2"
|
2022-04-04 14:00:11 +00:00
|
|
|
dest: "{{ item | replace('etc/named', bind_config_directory) }}"
|
2022-02-21 20:41:31 +00:00
|
|
|
owner: "{{ bind_unix_user }}"
|
|
|
|
group: "{{ bind_unix_group }}"
|
|
|
|
mode: 0644
|
|
|
|
with_items:
|
2022-04-04 14:00:11 +00:00
|
|
|
- etc/named.conf
|
|
|
|
- etc/named/named.conf.acl
|
|
|
|
- etc/named/named.conf.logging
|
|
|
|
- etc/named/named.conf.options
|
|
|
|
- etc/named/named.conf.tsigkeys
|
|
|
|
- etc/named/named.conf.views
|
2022-02-21 20:41:31 +00:00
|
|
|
notify: restart named
|
|
|
|
|
2022-04-04 14:00:11 +00:00
|
|
|
- name: Start and enabled named
|
2023-02-08 16:56:13 +00:00
|
|
|
ansible.builtin.systemd:
|
2022-02-21 20:41:31 +00:00
|
|
|
name: named
|
|
|
|
state: started
|
2023-02-08 16:56:13 +00:00
|
|
|
enabled: true
|