From d48f939b0ea5c2d4a32ed1d0fab11ade549c5a49 Mon Sep 17 00:00:00 2001 From: Mitch Riedstra Date: Sat, 14 Sep 2019 16:03:11 -0400 Subject: Support Alpine Linux --- defaults/main.yml | 10 ++++++++++ tasks/alpine.yml | 24 ++++++++++++++++++++++++ tasks/main.yml | 13 +++++++++++-- templates/nsd.conf | 4 ---- templates/run.j2 | 4 ++++ 5 files changed, 49 insertions(+), 6 deletions(-) create mode 100644 defaults/main.yml create mode 100644 tasks/alpine.yml create mode 100644 templates/run.j2 diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..0549ac8 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,10 @@ +--- + +# nsd_keys: +# - name: key_one +# algorithm: hmac-md5 +# secret: my-secret +# +# # Requires templates in zones/${zone_name} +# nsd_zones: +# - example.com diff --git a/tasks/alpine.yml b/tasks/alpine.yml new file mode 100644 index 0000000..7b73870 --- /dev/null +++ b/tasks/alpine.yml @@ -0,0 +1,24 @@ +- name: Install Runit service directory + file: + state: directory + path: /etc/sv/nsd + mode: '0755' +- name: Install Runit service command + template: + src: run.j2 + dest: /etc/sv/nsd/run + mode: '755' +- name: Install supervise symlink + file: + state: link + force: yes + src: /run/supervise.nsd + dest: /etc/sv/nsd/supervise + follow: false +- name: Enable NSD service + file: + state: link + force: yes + src: /etc/sv/nsd + dest: /var/service/nsd + follow: false diff --git a/tasks/main.yml b/tasks/main.yml index 0276545..346c088 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,8 +1,14 @@ --- -- name: Install NSD +- name: 'Install NSD [Void]' xbps: state: present name: nsd + when: ansible_facts['distribution'].lower() == "void" +- name: 'Install NSD [Alpine]' + apk: + state: present + name: nsd + when: ansible_facts['distribution'].lower() == "alpine" - name: Install nsd.conf template: src: nsd.conf @@ -11,13 +17,16 @@ template: src: 'zones/{{item}}' dest: '/etc/nsd/{{item}}.zone' - validate: '/usr/bin/nsd-checkzone {{item}} %s' + validate: 'nsd-checkzone {{item}} %s' owner: root group: nsd mode: 0640 loop: "{{nsd_zones}}" notify: - Restart NSD +- name: Include Alpine Linux Speicifc Tasks + include_tasks: alpine.yml + when: ansible_facts['distribution'].lower() == "alpine" - name: Enable NSD file: src: /etc/sv/nsd diff --git a/templates/nsd.conf b/templates/nsd.conf index 9c24027..246e308 100644 --- a/templates/nsd.conf +++ b/templates/nsd.conf @@ -22,9 +22,5 @@ key: zone: name: {{zone}} zonefile: /etc/nsd/%s.zone -{% for slave in nsd_slaves %} - notify: {{slave.ip}} {{slave.key}} - provide-xfr: {{slave.ip}} {{slave.key}} -{% endfor %} {% endfor %} diff --git a/templates/run.j2 b/templates/run.j2 new file mode 100644 index 0000000..7173f62 --- /dev/null +++ b/templates/run.j2 @@ -0,0 +1,4 @@ +#!/bin/sh +# install -d -m 0755 -o nsd -g nsd /run/nsd +exec nsd -d 2>/dev/null + -- cgit v1.2.3