Skip to content
Snippets Groups Projects
Select Git revision
  • 628e653381c116a0a2c13e45e9af3084ae6909de
  • master default
2 results

main.yml

Blame
  • main.yml 1.63 KiB
    ---
    # tasks file for nsd
    
    - name: Assertions
      assert:
        that:
            - ansible_os_family in nsd_user
            - ansible_os_family in aliases_file
            - nsd_server_block is defined
            - nsd_remote_control_block is defined
            - nsd_patterns is iterable
            - nsd_keys is iterable
            - nsd_zones is iterable
    
    - name: APT install NSD
      when: ansible_pkg_mgr == 'apt'
      apt:
          name: nsd
          state: present
          update_cache: yes
          cache_valid_time: 3600
    
    - name: Create zones directory
      file:
          path: '{{ nsd_zones_dir }}'
          state: directory
          owner: root
          group: 0
          mode: 0o755
    
    - name: Configure
      template:
          src: nsd.conf.j2
          dest: '{{ nsd_conf }}'
          owner: root
          group: 0
          mode: 0o0644
      notify:
          - Restart NSD
    
    - name: Copy zone templates
      with_fileglob:
          - '{{ role_path }}/templates/nsd/zones/*'
          - '{{ playbook_dir }}/templates/nsd/zones/*'
      template:
          src: '{{ item }}'
          dest: '{{ nsd_zones_dir }}/'
          owner: root
          group: 0
          mode: 0o644
      notify:
          - Restart NSD
    
    - name: Alias emails to root
      when: nsd_mail_alias is defined
      lineinfile:
          dest: '{{ aliases_file[ansible_os_family] }}'
          create: yes
          line: '{{ nsd_user[ansible_os_family] }}: {{ nsd_mail_alias }}'
          regexp: '{{ nsd_user[ansible_os_family] }}:'
      notify:
          - Update SMTPd database
    
    - name: Validate config
      command: 'nsd-checkconf {{ nsd_conf }}'
      changed_when: False
    
    - name: Enable NSD
      service:
          name: nsd