diff options
Diffstat (limited to 'roles/dns/tasks/nsd-zone.yml')
| -rw-r--r-- | roles/dns/tasks/nsd-zone.yml | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/roles/dns/tasks/nsd-zone.yml b/roles/dns/tasks/nsd-zone.yml new file mode 100644 index 0000000..960b230 --- /dev/null +++ b/roles/dns/tasks/nsd-zone.yml @@ -0,0 +1,31 @@ +--- +- name: var - set domain +  set_fact: +    domain: "{{ zonefile | basename | regex_replace('\\.zone\\.j2', '') }}" + +- name: var - set domain_keyfile +  set_fact: +    domain_keyfile: /usr/local/etc/mail/dkim/{{ domain }}-{{ mail.dkim.selector }}.pem + +- name: dkim - check domain key existence +  stat: +    path: "{{ domain_keyfile }}" +  register: stat_result + +- name: dkim - slurp domain key from the remote machine +  slurp: +    src: "{{ domain_keyfile }}" +  # NOTE: get the contents with `{{ slurp_result['content'] | b64decode }}` +  register: slurp_result +  when: stat_result.stat.exists + +- name: var - set domain_key +  set_fact: +    domain_key: "{{ slurp_result['content'] | b64decode }}" +  when: stat_result.stat.exists + +- name: NSD - generate zone files +  template: +    src: "{{ zonefile }}" +    dest: "/usr/local/etc/nsd/zones/{{ domain }}.zone" +    validate: "nsd-checkzone {{ domain }} %s"  | 
