linuxkit/projects/compose/Makefile
Dave Tucker 561ce6f4be Remove Notary and Content Trust
This commit removes Notary and Content Trust.
Notary v1 is due to be replaced with Notary v2 soon.
There is no clean migration path from one to the other.
For now, this removes all signing from LinuxKit.
We will look to add this back once a new Notary alternative
becomes available.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2021-03-30 14:51:11 +01:00

48 lines
1.2 KiB
Makefile

.PHONY: tag push hash dynamic static cache-images run-static run-dynamic
ORG?=linuxkitprojects
IMAGE=compose
DEPS=image/Dockerfile docker-compose.yml image/waitfordocker.sh image/load-images-and-compose.sh
COMMON_IMAGES := $(shell awk '/image:/ {print $$2}' docker-compose.yml | sort | uniq)
HASH?=$(shell git ls-tree HEAD -- ./image | awk '{print $$3}')
hash:
@echo ${HASH}
tag: $(DEPS)
docker build --squash --no-cache -t $(ORG)/$(IMAGE):$(HASH) image/
push: tag
docker pull $(ORG)/$(IMAGE):$(HASH) || \
docker push $(ORG)/$(IMAGE):$(HASH)
dynamic:
mkdir -p dist
linuxkit build -name compose-dynamic -dir dist/ compose-dynamic.yml
static: cache-images
mkdir -p dist
linuxkit build -name compose-static -dir dist/ compose-static.yml
run-dynamic:
linuxkit run dist/compose-dynamic
run-static:
linuxkit run -mem 2048 dist/compose-static
clean:
rm -rf image-cache
image-cache/%.tar:
mkdir -p $(dir $@)
DOCKER_CONTENT_TRUST=1 docker image pull $(shell basename $@ .tar)
docker image save -o $@ $(shell basename $@ .tar)
# use make here for each image rather than a single for loop so we can cache dependencies
cache-images:
for image in $(COMMON_IMAGES) ; do \
make "image-cache/$${image}.tar" ; \
done