summaryrefslogtreecommitdiff
path: root/net-dns/pdns/files/pdns
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns/pdns/files/pdns')
-rw-r--r--net-dns/pdns/files/pdns61
1 files changed, 61 insertions, 0 deletions
diff --git a/net-dns/pdns/files/pdns b/net-dns/pdns/files/pdns
new file mode 100644
index 000000000000..c16037913112
--- /dev/null
+++ b/net-dns/pdns/files/pdns
@@ -0,0 +1,61 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="monitor"
+extra_started_commands="reload dump"
+
+PDNS_INSTANCE="${SVCNAME#pdns[.-]}"
+PDNS_CONFIG=""
+
+if [ -n "${PDNS_INSTANCE}" ] && [ "${PDNS_INSTANCE}" != "pdns" ]
+then
+ PDNS_CONFIG="--config-name=${PDNS_INSTANCE}"
+else
+ PDNS_INSTANCE="default"
+fi
+
+depend() {
+ need net
+ use mysql postgresql
+}
+
+start() {
+ ebegin "Starting PowerDNS (${PDNS_INSTANCE})"
+ /usr/sbin/pdns_server \
+ ${PDNS_CONFIG} \
+ --daemon=yes \
+ --guardian=yes
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping PowerDNS (${PDNS_INSTANCE})"
+ /usr/bin/pdns_control ${PDNS_CONFIG} quit >/dev/null 2>&1
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading PowerDNS (${PDNS_INSTANCE})"
+ /usr/bin/pdns_control ${PDNS_CONFIG} cycle >/dev/null 2>&1
+ eend $?
+}
+
+dump() {
+ ebegin "Dumping PowerDNS (${PDNS_INSTANCE}) variables"
+ /usr/bin/pdns_control ${PDNS_CONFIG} list
+ eend $?
+}
+
+monitor() {
+ ebegin "Starting PowerDNS (${PDNS_INSTANCE}) in monitor mode"
+ /usr/sbin/pdns_server \
+ ${PDNS_CONFIG} \
+ --daemon=no \
+ --guardian=no \
+ --control-console=yes \
+ --loglevel=9 \
+ --log-dns-details=yes \
+ --query-logging=yes
+ eend $?
+}