cfk
Version:
Finbox's PaaS
61 lines (48 loc) • 1.73 kB
Plain Text
description "Weave Docker Network Service"
start on started weave
stop on stopping weave
env WEAVEDISCOVERY_DOCKER_ARGS="--env SERVICE_NAME=discovery -h discovery.weave.local --dns 172.42.0.1 --dns 8.8.8.8 --dns 8.8.4.4"
pre-start script
eval $(cfk-env)
discovery leave || true
end script
script
# Make sure that weave services are running
WEAVE_RUNNING=$(docker ps --format "{{ .Names }}" | grep ^weave$ | wc -l)
if [ "$WEAVE_RUNNING" -ne "1" ]; then
echo "Error: Weave router is not running!"
exit 1
fi
PROXY_RUNNING=$(docker ps --format "{{ .Names }}" | grep ^weaveproxy$ | wc -l)
if [ "$PROXY_RUNNING" -ne "1" ]; then
echo "Error: Weave proxy is not running!"
exit 1
fi
eval $(cfk-env)
IMAGE_VERSION=git-f4e79790b0a0 WEAVE_DISCOVERY_NAME=discovery \
discovery join --advertise=${HOST_IP:?host ip required}:${DISCOVERY_PORT:-6783} \
${DISCOVERY_TOKEN:?discovery token required}
sleep 10
exec docker logs -f discovery
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 discovery && exit 0
status discovery | grep respawn && exit 0
done
end script
pre-stop script
eval $(cfk-env)
discovery leave || true
end script
post-stop script
docker rm -f discovery || true
end script
respawn
respawn limit unlimited
kill timeout 10