diff --git a/.gitignore b/.gitignore index 875c22e572fade469a60164ef89fe0f18bc34bac..a87d17f5edeaf74132d8e2bcee5f12f36674c856 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,9 @@ /vendor/* /rootfs/manager/bin/manager /rootfs/manager/bin/kubectl +/rootfs/manager/bin/v1.* /rootfs/resourcifier/bin/resourcifier /rootfs/resourcifier/bin/kubectl +/rootfs/resourcifier/bin/v1.* /rootfs/expandybird/bin/expandybird /rootfs/expandybird/opt/expansion diff --git a/rootfs/include.mk b/rootfs/include.mk index 43d779adb0d06faa020529ebfcf04036c2f8bf4f..a7e3948d247ed93815acc426431b787d22f5a9e9 100644 --- a/rootfs/include.mk +++ b/rootfs/include.mk @@ -15,7 +15,17 @@ # If you update this image please check the tag value before pushing. DOCKER_REGISTRY ?= gcr.io -PREFIX := $(DOCKER_REGISTRY)/$(PROJECT) + +# Legacy support for $PROJECT +DOCKER_PROJECT ?= $(PROJECT) + +# Support both local and remote repos, and support no project. +ifdef $(DOCKER_PROJECT) +PREFIX := $(DOCKER_REGISTRY)/$(DOCKER_PROJECT) +else +PREFIX := $(DOCKER_REGISTRY) +endif + FULL_IMAGE := $(PREFIX)/$(IMAGE) TAG ?= git-$(shell git rev-parse --short HEAD) @@ -26,6 +36,7 @@ PLATFORM ?= $(DEFAULT_PLATFORM) DEFAULT_ARCH := $(shell uname -m) ARCH ?= $(DEFAULT_ARCH) + .PHONY: info info: @echo "Build tag: ${TAG}" @@ -51,10 +62,12 @@ container: .project .docker binary extras docker tag -f $(FULL_IMAGE):latest $(FULL_IMAGE):$(TAG) .project: - @if [[ -z "${PROJECT}" ]]; then echo "PROJECT variable must be set"; exit 1; fi +ifeq ($(DOCKER_REGISTRY), gcr.io) + $(error "One or both of DOCKER_REGISTRY and DOCKER_PROJECT must be set.") +endif .docker: - @if [[ -z `which docker` ]] || ! docker version &> /dev/null; then echo "docker is not installed correctly"; exit 1; fi + @if [[ -z `which docker` ]] || ! docker --version &> /dev/null; then echo "docker is not installed correctly"; exit 1; fi CROSS_IMAGE := $(PLATFORM)-$(ARCH)/$(IMAGE)/$(IMAGE) @@ -67,3 +80,11 @@ binary: echo cp ../../bin/$(IMAGE) ./bin ; \ cp ../../bin/$(IMAGE) ./bin ; \ fi + +.PHONY: kubectl +kubectl: +ifeq ("$(wildcard bin/$(KUBE_VERSION))", "") + touch bin/$(KUBE_VERSION) + curl -fsSL -o bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBE_VERSION}/bin/linux/amd64/kubectl + chmod +x bin/kubectl +endif diff --git a/rootfs/manager/Makefile b/rootfs/manager/Makefile index 4c38b8e40dac75911f30f8d6cd1f43826d950067..0b1f4c681b88d7c8c0dfd6c96d8e289b3c6a352a 100644 --- a/rootfs/manager/Makefile +++ b/rootfs/manager/Makefile @@ -19,8 +19,3 @@ include ../include.mk .PHONY: extras extras: kubectl - -.PHONY: kubectl -kubectl: - curl -fsSL -o bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBE_VERSION}/bin/linux/amd64/kubectl - chmod +x bin/kubectl diff --git a/rootfs/resourcifier/Makefile b/rootfs/resourcifier/Makefile index d1a62ebca6003eebb4972d7218ad2854d09a7365..bbf66ee66b79323ec3a33367c4c54c7b3afd7582 100644 --- a/rootfs/resourcifier/Makefile +++ b/rootfs/resourcifier/Makefile @@ -19,8 +19,3 @@ include ../include.mk .PHONY: extras extras: kubectl - -.PHONY: kubectl -kubectl: - curl -fsSL -o bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBE_VERSION}/bin/linux/amd64/kubectl - chmod +x bin/kubectl