summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitch Riedstra <mitch@riedstra.us>2019-09-14 16:03:11 -0400
committerMitch Riedstra <mitch@riedstra.us>2019-09-14 16:03:11 -0400
commitd48f939b0ea5c2d4a32ed1d0fab11ade549c5a49 (patch)
treed318e8dc197842b478e4b028248d527bd629ac81
parentc2ead0c3d4f6845b52767073eceb56446e2023d7 (diff)
downloadnsd-d48f939b0ea5c2d4a32ed1d0fab11ade549c5a49.tar.gz
nsd-d48f939b0ea5c2d4a32ed1d0fab11ade549c5a49.tar.xz
Support Alpine Linux
-rw-r--r--defaults/main.yml10
-rw-r--r--tasks/alpine.yml24
-rw-r--r--tasks/main.yml13
-rw-r--r--templates/nsd.conf4
-rw-r--r--templates/run.j24
5 files changed, 49 insertions, 6 deletions
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
+