cfk
Version:
Finbox's PaaS
67 lines (53 loc) • 1.77 kB
Plain Text
description "Weave Docker Network Service"
start on started docker
stop on stopping docker
env WEAVE_DOCKER_ARGS="--env SERVICE_6783_NAME=weave"
pre-start script
if [ -f /etc/default/cfk ]; then
eval $(cat /etc/default/cfk | sed 's/^/export /')
fi
weave stop || /bin/true
eval $(weave env --restore)
if [ -f /var/run/weave/weave.env ]; then
rm /var/run/weave/weave.env
fi
end script
script
if [ -f /etc/default/cfk ]; then
eval $(cat /etc/default/cfk | sed 's/^/export /')
fi
weave launch-router --init-peer-count ${INITIAL_PEERS:-1} --http-addr 0.0.0.0:6784
weave launch-proxy --rewrite-inspect --without-dns
sleep 10
mkdir -p /var/run/weave
weave env > /var/run/weave/weave.env
weave expose
exec docker logs -f weave
end script
post-start script
DEAD_CONTAINERS=$(docker ps -a --filter "status=dead" --format "{{ .ID }}")
if [ $(echo $DEAD_CONTAINERS | wc -w) -gt 0 ]; then $(echo $DEAD_CONTAINERS | xargs docker rm -f || true); fi
EXITED_CONTAINERS=$(docker ps -a --filter "status=exited" --format "{{ .ID }}")
if [ $(echo $EXITED_CONTAINERS | wc -w) -gt 0 ]; then $(echo $EXITED_CONTAINERS | xargs docker rm -f || true); fi
while true; do
sleep 30
(docker ps --format={{.Names}} | grep "^weave$") && (docker ps --format={{.Names}} | grep weaveproxy) && exit 0
status weave | grep respawn && exit 0
done
end script
pre-stop script
if [ -f /etc/default/cfk ]; then
eval $(cat /etc/default/cfk | sed 's/^/export /')
fi
weave stop || /bin/true
eval $(weave env --restore)
if [ -f /var/run/weave/weave.env ]; then
rm /var/run/weave/weave.env
fi
end script
post-stop script
docker rm -f weave weaveproxy || true
end script
respawn
respawn limit unlimited
kill timeout 10