--- - name: 'Include OpenBSD vars' include_vars: 'openbsd.yml' when: is_openbsd - name: 'Check for runit' set_fact: use_runit: true when: is_alpine or is_voidlinux or is_deb - name: 'VoidLinux: Install NSD' xbps: state: present name: nsd when: is_voidlinux - name: 'Alpine: Install NSD' apk: state: present name: nsd when: is_alpine - name: 'RHEL: Install epel' yum: state: present name: epel-release when: is_rhel - name: 'RHEL: Install NSD' yum: state: present name: nsd when: is_rhel - name: 'debian: Install NSD' apt: state: present name: nsd when: is_deb - name: Install nsd.conf template: src: nsd/nsd.conf dest: '{{nsd_conf}}' - name: Ensure zone dir exists file: path: '{{zone_dir}}' owner: '{{zone_owner}}' group: '{{zone_group}}' state: directory - name: Install zone files template: src: 'zones/{{item}}' dest: '{{zone_dir}}/{{item}}.zone' validate: 'nsd-checkzone {{item}} %s' owner: '{{zone_owner}}' group: '{{zone_group}}' mode: 0640 loop: "{{nsd_zones}}" notify: - Restart NSD - name: 'runit: create service directory' file: state: directory path: /etc/sv/nsd mode: '0755' when: use_runit - name: 'runit: Install service command' template: src: nsd/run.j2 dest: /etc/sv/nsd/run mode: '755' when: use_runit - name: 'runit: Install supervise symlink' file: state: link force: yes src: /run/supervise.nsd dest: /etc/sv/nsd/supervise follow: false when: use_runit - name: 'runit: Enable NSD' file: src: /etc/sv/nsd dest: /var/service/nsd owner: root group: root state: link when: use_runit - name: Enable NSD service: name: nsd state: started enabled: true when: 'not use_runit'