|
- ---
-
- - block:
-
- - name: Ensure the override directory exists (systemd)
- file:
- name: "/etc/systemd/system/{{ pdns_service_name }}.service.d"
- state: directory
- owner: root
- group: root
-
- - name: Override the PowerDNS Authoritative Server unit (systemd)
- template:
- src: "override-service.systemd.conf.j2"
- dest: "/etc/systemd/system/{{ pdns_service_name }}.service.d/override.conf"
- owner: root
- group: root
- notify: reload systemd and restart PowerDNS
-
- when: pdns_service_overrides != {}
- and ansible_service_mgr == "systemd"
-
- - name: Ensure that the PowerDNS Authoritative Server configuration directory exists
- file:
- name: "{{ pdns_config_dir }}"
- state: directory
- owner: "root"
- group: "root"
- mode: 0750
-
- - name: Generate the PowerDNS Authoritative Server configuration
- template:
- src: pdns.conf.j2
- dest: "{{ pdns_config_dir }}/{{ pdns_config_file }}"
- owner: "root"
- group: "root"
- mode: 0640
- notify: restart PowerDNS
-
- - name: Ensure that the PowerDNS Authoritative Server 'include-dir' directory exists
- file:
- name: "{{ pdns_config['include-dir'] }}"
- state: directory
- owner: "root"
- group: "root"
- mode: 0750
- when: "pdns_config['include-dir'] is defined"
-
- - name: Enable Syslog logging for PowerDns
- lineinfile:
- path: /usr/lib/systemd/system/pdns.service
- regexp: 'disable-syslog'
- line: "ExecStart=/usr/sbin/pdns_server --guardian=no --daemon=no --log-timestamp=no --write-pid=no"
- become: true
- become_method: sudo
- notify: reload systemd and restart PowerDNS
-
- - name: Configure syslog log rotation
- template:
- src: syslogrotate.conf.j2
- dest: "/etc/logrotate.d/syslog"
- become: true
- become_method: sudo
-
- - block:
- - name: Ensure that the bind backend dir exists
- file:
- name: "{{ pdns_bind_backend_dir }}"
- state: directory
- owner: "{{ pdns_user }}"
- group: "{{ pdns_group }}"
- mode: 0750
- - name: Ensure that the bind backend config file exists
- template:
- src: bind.conf.j2
- dest: "{{ pdns_bind_backend_config }}"
- owner: "{{ pdns_user }}"
- group: "{{ pdns_group }}"
- mode: 0640
- notify: restart PowerDNS
- - name:
- copy:
- src: "{{ domain | replace('/','-') }}.zone"
- dest: "{{ pdns_bind_backend_dir }}/{{ domain | replace('/','-') }}.zone"
- owner: "{{ pdns_user }}"
- group: "{{ pdns_group }}"
- mode: 0444
- loop: "{{ managed_domains | default([], true) }}"
- loop_control:
- loop_var: domain
- notify: restart PowerDNS
- when:
- - managed_domains is defined
- - name: Ensure that the dnssec bind db exists
- shell:
- cmd: "pdnsutil create-bind-db {{ pdns_backends['bind']['dnssec-db'] }}"
- creates: "{{ pdns_backends['bind']['dnssec-db'] }}"
- when:
- - (pdns_backends['bind']['dnssec-db'] | default("", true)) != ""
- - name: Set ownership of dnssec db
- file:
- name: "{{ pdns_backends['bind']['dnssec-db'] }}"
- owner: "{{ pdns_user }}"
- group: "{{ pdns_group }}"
- mode: 0640
- when:
- - (pdns_backends['bind']['dnssec-db'] | default("", true)) != ""
- when:
- - "pdns_backends['bind'] is defined"
-
|