From a54f2ae179715dfc9873eb19fec7aecd93a52061 Mon Sep 17 00:00:00 2001 From: David Gageot Date: Thu, 22 Dec 2016 16:01:40 +0100 Subject: [PATCH] Specific init.d script for GCP Signed-off-by: David Gageot --- alpine/Dockerfile | 1 + alpine/Makefile | 1 + alpine/packages/docker/etc/init.d/docker | 4 ++++ alpine/packages/gcp/etc/init.d/gcp | 29 ++++++++++++++++++++++++ 4 files changed, 35 insertions(+) create mode 100755 alpine/packages/gcp/etc/init.d/gcp diff --git a/alpine/Dockerfile b/alpine/Dockerfile index 2340333ad..d065c5e20 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -57,6 +57,7 @@ RUN \ rc-update add containerd default && \ rc-update add aws default && \ rc-update add azure default && \ + rc-update add gcp default && \ true CMD ["/mkinitrd.sh"] diff --git a/alpine/Makefile b/alpine/Makefile index 33a75787e..f526db9d9 100644 --- a/alpine/Makefile +++ b/alpine/Makefile @@ -49,6 +49,7 @@ moby.img: Dockerfile mkinitrd.sh init $(ETCFILES) -C packages/containerd etc -C ../.. \ -C packages/aws etc -C ../.. \ -C packages/azure etc -C ../.. \ + -C packages/gcp etc -C ../.. \ | \ docker build -q - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && \ echo $$BUILD > mobylinux.tag && \ diff --git a/alpine/packages/docker/etc/init.d/docker b/alpine/packages/docker/etc/init.d/docker index b3c9e5f21..2ae2a0cc8 100755 --- a/alpine/packages/docker/etc/init.d/docker +++ b/alpine/packages/docker/etc/init.d/docker @@ -86,6 +86,10 @@ start() cat /etc/docker/daemon.json | jq -e 'has("experimental")' > /dev/null || DOCKER_OPTS="${DOCKER_OPTS} --experimental" fi + # On GCP, send logs to Google Cloud Logging + # Disabled because of https://github.com/docker/docker/issues/29344 + # [ $(mobyplatform) = "gcp" ] && DOCKER_OPTS="${DOCKER_OPTS} --log-driver=gcplogs" + # choose storage driver if ! $(cat /etc/docker/daemon.json | jq -e '."storage-driver"' > /dev/null) then diff --git a/alpine/packages/gcp/etc/init.d/gcp b/alpine/packages/gcp/etc/init.d/gcp new file mode 100755 index 000000000..9da3441a4 --- /dev/null +++ b/alpine/packages/gcp/etc/init.d/gcp @@ -0,0 +1,29 @@ +#!/sbin/openrc-run + +description="Bootstrap procedure if running on Docker GCP edition" + +depend() +{ + need docker + need net +} + +start() +{ + [ "$(mobyplatform)" != "gcp" ] && exit 0 + ebegin "Running GCP-specific initialization" + + ebegin "Run startup script" + + temp_file=$(mktemp) + curl -s http://metadata.google.internal/computeMetadata/v1/instance/attributes/startup-script -H "Metadata-Flavor: Google" > ${temp_file} + [ -s "${temp_file}" ] && sh "${temp_file}" + rm -f "${temp_file}" + + eend 0 +} + +stop() +{ + [ "$(mobyplatform)" != "gcp" ] && exit 0 +}