From 180714cd58dac936954c778d9539eb0618e63cea Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 6 Oct 2019 05:08:38 +0200 Subject: added bind role --- roles/bind/tasks/main.yml | 109 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 roles/bind/tasks/main.yml (limited to 'roles/bind/tasks') diff --git a/roles/bind/tasks/main.yml b/roles/bind/tasks/main.yml new file mode 100644 index 00000000..92e37e6a --- /dev/null +++ b/roles/bind/tasks/main.yml @@ -0,0 +1,109 @@ +--- +- name: install bind + apt: + name: bind9 + state: present + +- name: set bind options + blockinfile: + path: /etc/bind/named.conf.options + block: | + {% if bind_option_empty_zones_enable is defined %} + empty-zones-enable {% if bind_option_empty_zones_enable %}yes{% else %}no{% endif %}; + {% endif %} + {% if bind_option_notify is defined %} + notify {% if bind_option_notify %}yes{% else %}no{% endif %}; + {% endif %} + {% if bind_option_allow_transfer is defined %} + + allow-transfer { + {% for item in bind_option_allow_transfer %} + {{ item }}; + {% endfor %} + }; + {% endif %} + {% if bind_option_allow_recursion is defined %} + + allow-recursion { + {% for item in bind_option_allow_recursion %} + {{ item }}; + {% endfor %} + }; + {% endif %} + insertbefore: '};' + marker: " // {mark} ansible managed block" + notify: reload bind + + +- name: add empty .onion zone + when: bind_empty_onion_zone + copy: + dest: /etc/bind/named.conf.onion + content: | + // block .onion addresses + zone "onion" { + type master; + file "/etc/bind/db.empty"; + notify no; + }; + notify: reload bind + +- name: remove empty .onion zone + when: not bind_empty_onion_zone + file: + path: /etc/bind/named.conf.onion + state: absent + notify: reload bind + +- name: enable/disable empty .onion zone + lineinfile: + path: /etc/bind/named.conf + line: 'include "/etc/bind/named.conf.onion";' + state: "{% if bind_empty_onion_zone %}present{% else %}absent{% endif %}" + notify: reload bind + + +- name: add slave zone configuration + when: bind_slave_zones is defined + template: + src: slave-zones.j2 + dest: /etc/bind/named.conf.slave-zones + notify: reload bind + +- name: remove slave zone configuration + when: bind_slave_zones is not defined + file: + path: /etc/bind/named.conf.slave-zones + state: absent + notify: reload bind + +- name: enable/disable slave zone configuration + lineinfile: + path: /etc/bind/named.conf + line: 'include "/etc/bind/named.conf.slave-zones";' + state: "{% if bind_slave_zones is defined %}present{% else %}absent{% endif %}" + notify: reload bind + + +# - name: add master zone configuration +# when: bind_master_zones is defined +# template: +# src: master-zones.j2 +# dest: /etc/bind/named.conf.master-zones +# notify: reload bind + +# - name: remove master zone configuration +# when: bind_master_zones is not defined +# file: +# path: /etc/bind/named.conf.master-zones +# state: absent +# notify: reload bind + +# ## TODO: install zone files for master zones + +# - name: enable/disable master zone configuration +# lineinfile: +# path: /etc/bind/named.conf +# line: 'include "/etc/bind/named.conf.master-zones";' +# state: "{% if bind_master_zones is defined %}present{% else %}absent{% endif %}" +# notify: reload bind -- cgit v1.2.3