Files
configpolicy/roles/named/tasks/main.yml
Dustin C. Hatch 3473694eb0 roles/named: Improve support for other zone types
Only *master* zones need zone files pre-populated, as the other types of
zones are populated by data named receives from queries and transfers.
Other types of zones require other options, however, to be usable. This
commit introduces minimal support for specifying *slave*, *forward*, and
*stub* zones.
2018-02-21 22:33:52 -06:00

85 lines
1.8 KiB
YAML

- name: load distribution-specific values
include_vars: '{{ item }}'
with_first_found:
- '{{ ansible_distribution }}.yml'
- defaults.yml
tags:
- always
- name: ensure packages are installed
package:
name={{ named_packages|join(',') }}
state=present
tags:
- install
- name: ensure named keys are configured
template:
src: named.secrets.j2
dest: /etc/named.secrets
mode: '0440'
owner: root
group: named
validate: named-checkconf %s
notify: reload named
- name: ensure zones are configured
template:
src: named.zones.j2
dest: /etc/named.zones
mode: '0640'
owner: root
group: named
validate: named-checkconf %s
notify: reload named
- name: ensure zone files exist
template:
src: zone.j2
dest: /var/named/dynamic/{{ item.zone }}.zone
mode: '0640'
owner: root
group: named
force: no
with_items: '{{ named_zones|selectattr("type", "eq", "master")|list }}'
notify: reload named
- name: ensure named is configured
template:
src: named.conf.j2
dest: /etc/named.conf
mode: '0640'
owner: root
group: named
validate: named-checkconf %s
notify: restart named
# TODO: What about other OS/init setups?
- name: ensure named environment variables are set
template:
src=named.sysconfig.j2
dest=/etc/sysconfig/named
mode=0644
when: ansible_os_family == 'RedHat'
notify: restart named
- name: ensure named starts at boot
service:
name=named
enabled=yes
- meta: flush_handlers
- name: ensure named is running
service:
name=named
state=started
- name: ensure firewall is configured for dns
firewalld:
service=dns
state=enabled
permanent=no
immediate=yes
notify: save firewalld configuration
when: host_uses_firealld|d(true)|bool
tags:
- firewalld