balena-supervisor/tools/dind/config/services/resin-supervisor-dind.service
Pablo Carranza Velez 3771fd53ea Fix preloading and parsing of arguments in the dind supervisor
We now remove the quotes from the image name in the ExecStartPre of the supervisor dind service,
so that the images are properly pulled.

We also fix the parsing of arguments in dindctl so that it correctly parses all of the arguments (the last one was being missed if it didn't have a parameter).

Change-Type: patch
Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
2017-07-26 20:30:51 -03:00

46 lines
1.7 KiB
Desktop File

[Unit]
Description=resin-supervisor-dind
Requires=confd.service docker.service openvpn-resin.service
After=confd.service
Before=openvpn-resin.service
[Service]
WorkingDirectory=/usr/src/app
EnvironmentFile=/usr/src/app/config/env
EnvironmentFile=/usr/src/app/config/localenv
ExecStartPre=/bin/bash -c 'if [ "${PRELOADED_IMAGE}" == "true" ]; then /usr/bin/docker pull $(jq --raw-output ".[0].imageId" ${APPS_PATH}); fi'
ExecStartPre=/usr/bin/docker load --input /usr/src/supervisor-image.tar
ExecStartPre=-/usr/bin/docker kill resin_supervisor
ExecStartPre=-/usr/bin/docker rm resin_supervisor
ExecStartPre=-/bin/touch /etc/resolv.conf
ExecStart=/bin/bash -c 'source /usr/src/app/resin-vars && \
/usr/bin/docker run --rm --privileged --name resin_supervisor \
--net=host \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "${CONFIG_PATH}:/boot/config.json" \
-v "${APPS_PATH}:/boot/apps.json" \
-v /resin-data/resin-supervisor:/data \
-v /proc/net/fib_trie:/mnt/fib_trie \
-v /var/log/supervisor-log:/var/log \
-v /:/mnt/root \
-v /etc/resolv.conf:/etc/resolv.conf:rw \
${SUPERVISOR_EXTRA_MOUNTS} \
-e "API_ENDPOINT=$API_ENDPOINT" \
-e "DELTA_ENDPOINT=$DELTA_ENDPOINT" \
-e "REGISTRY_ENDPOINT=$REGISTRY_ENDPOINT" \
-e "PUBNUB_SUBSCRIBE_KEY=$PUBNUB_SUBSCRIBE_KEY" \
-e "PUBNUB_PUBLISH_KEY=$PUBNUB_PUBLISH_KEY" \
-e "MIXPANEL_TOKEN=$MIXPANEL_TOKEN" \
-e "LED_FILE=${LED_FILE}" \
-e "LISTEN_PORT=$LISTEN_PORT" \
-e "SUPERVISOR_IMAGE=${SUPERVISOR_IMAGE}" \
-e "RESIN_SUPERVISOR_SECRET=${RESIN_SUPERVISOR_SECRET}" \
-e "DOCKER_ROOT=/mnt/root/var/lib/docker" \
-e "DOCKER_SOCKET=/var/run/docker.sock" \
${SUPERVISOR_IMAGE}'
TimeoutStartSec=0
Restart=always
[Install]
WantedBy=basic.target