---

- name: Install packages
  yum:
    name:
      - unbound
  tags: dns

- name: Fetch the root hints
  get_url:
    url: https://www.internic.net/domain/named.cache
    dest: /etc/unbound/root.hints
  tags: dns

- name: Deploy unbound configuration
  template: src=unbound.conf.j2 dest=/etc/unbound/unbound.conf
  notify: restart unbound
  tags: dns

- name: Handle port in the firewall
  iptables_raw:
    name: unbound_ports
    state: "{{ (unbound_src_ip | length > 0) | ternary('present','absent') }}"
    rules: "-A INPUT -m state --state NEW -p udp -m multiport --dports {{ unbound_port }} -s {{ unbound_src_ip | join(',') }} -j ACCEPT\n
            -A INPUT -m state --state NEW -p tcp -m multiport --dports {{ unbound_port }} -s {{ unbound_src_ip | join(',') }} -j ACCEPT"
  when: iptables_manage | default(True)
  tags: dns,firewall

- name: Start and enable the service
  service: name=unbound state=started enabled=True
  tags: dns
