5
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2024-11-25 20:41:36 +00:00

contrib/openrc: add init file for OpenRC

This commit is contained in:
William Wennerström 2019-03-05 20:30:06 +01:00
parent d5a9c39dab
commit 26a952aa6c
No known key found for this signature in database
GPG Key ID: E1382990BEDD319B

49
contrib/openrc/yggdrasil Executable file
View File

@ -0,0 +1,49 @@
#!/sbin/openrc-run
description="An experiment in scalable routing as an encrypted IPv6 overlay network."
CONFFILE="/etc/yggdrasil.conf"
pidfile="/run/${RC_SVCNAME}.pid"
command="/usr/bin/yggdrasil"
depend() {
use net dns logger
}
start_pre() {
if [ ! -f "${CONFFILE}" ]; then
ebegin "Generating new configuration file into ${CONFFILE}"
if ! eval ${command} -genconf > ${CONFFILE}; then
eerror "Failed to generate configuration file"
exit 1
fi
fi
if [ ! -e /dev/net/tun ]; then
ebegin "Inserting TUN module"
if ! modprobe tun; then
eerror "Failed to insert TUN kernel module"
exit 1
fi
fi
}
start() {
ebegin "Starting Yggdrasil"
start-stop-daemon --start --quiet \
--pidfile "${pidfile}" \
--make-pidfile \
--background \
--stdout /var/log/yggdrasil.stdout.log \
--stderr /var/log/yggdrasil.stderr.log \
--exec "${command}" -- -useconf < "${CONFFILE}"
eend $?
}
stop() {
ebegin "Stopping Yggdrasil"
start-stop-daemon --stop --pidfile "${pidfile}" --exec "${command}"
eend $?
}