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 +}