mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-12-25 10:12:31 +00:00
Use aws cli to pull docker engine binaries from s3 bucket. Conditional and happens if DOCKER_BIN_URL begins with 's3://' Example usage: ``` export AWS_ACCESS_KEY_ID=key export AWS_SECRET_ACCESS_KEY=secret make DOCKER_BIN_URL=s3://path-to-engine-binaries ``` Signed-off-by: Robb Kistler <robb.kistler@docker.com> Signed-off-by: Robb Kistler <robb.kistler@docker.com>
75 lines
1.9 KiB
Makefile
75 lines
1.9 KiB
Makefile
DOCKER_VERSION?=17.03.0-ce-rc1
|
|
FORCE_CURL?=1
|
|
ARCH?=x86_64
|
|
OS?=Linux
|
|
|
|
AWS_CLI_IMAGE=mobylinux/aws-cli:9432b650794d38a70cf00be4da971367c52d1d5b@sha256:679f6f45fb8598cab90888733a07ddeeb26a27a7889114f89aaf712eaa3abe06
|
|
|
|
all: usr/bin/docker
|
|
|
|
RELEASE_CANDIDATE=$(findstring -rc,$(DOCKER_VERSION))
|
|
ifeq ($(RELEASE_CANDIDATE),-rc)
|
|
DOCKER_HOST=test.docker.com
|
|
else
|
|
DOCKER_HOST=get.docker.com
|
|
endif
|
|
|
|
DOCKER_IMAGE?=docker:$(DOCKER_VERSION)
|
|
|
|
ifeq ($(DOCKER_VERSION),master)
|
|
ifeq ($(OS),Linux)
|
|
OS=linux
|
|
endif
|
|
ifeq ($(ARCH),x86_64)
|
|
ARCH=amd64
|
|
endif
|
|
MASTER_VERSION:=$(shell curl -fsSL https://master.dockerproject.org/version)
|
|
DOCKER_BIN_URL=https://master.dockerproject.org/$(OS)/$(ARCH)/docker-$(MASTER_VERSION).tgz
|
|
endif
|
|
|
|
.PHONY: download hub cleanusr
|
|
|
|
ifeq ($(DOCKER_BIN_URL)$(FORCE_CURL)$(RELEASE_CANDIDATE),)
|
|
usr/bin/docker: Makefile hub
|
|
else
|
|
usr/bin/docker: Makefile download
|
|
endif
|
|
|
|
cleanusr:
|
|
mkdir -p usr/bin
|
|
rm -f usr/bin/* ok
|
|
|
|
S3_PREFIX=s3://
|
|
|
|
download: cleanusr
|
|
ifdef DOCKER_BIN_URL
|
|
ifeq ($(filter $(S3_PREFIX)%, $(DOCKER_BIN_URL)),)
|
|
(curl -fsSL "${DOCKER_BIN_URL}" && touch ok) | tar xzf -
|
|
else
|
|
(docker run --rm -e AWS_SECRET_ACCESS_KEY -e AWS_ACCESS_KEY_ID $(AWS_CLI_IMAGE) s3 cp '$(DOCKER_BIN_URL)' -) | tar xzf -
|
|
endif
|
|
else
|
|
(curl -fsSL https://${DOCKER_HOST}/builds/${OS}/${ARCH}/docker-${DOCKER_VERSION}.tgz && touch ok) | tar xzf -
|
|
endif
|
|
rm ok
|
|
mv docker/docker-containerd-ctr \
|
|
docker/docker \
|
|
docker/docker-containerd \
|
|
docker/dockerd \
|
|
docker/docker-proxy \
|
|
docker/docker-runc \
|
|
docker/docker-containerd-shim \
|
|
usr/bin/
|
|
([ -e docker/docker-init ] && mv docker/docker-init usr/bin/) || true
|
|
([ -d docker/completion ] && rm -rf docker/completion) || true
|
|
|
|
hub: cleanusr
|
|
(DOCKER_CONTENT_TRUST=1 docker run --rm $(DOCKER_IMAGE) tar cf - -C /usr/local/bin . && touch ok) | tar xf - -C usr/bin
|
|
rm ok
|
|
rm -f usr/bin/docker-entrypoint.sh
|
|
|
|
clean:
|
|
rm -rf usr/ docker/ ok
|
|
|
|
.DELETE_ON_ERROR:
|