6156: support config format for setting a node's hostname
[arvados.git] / docker / build_tools / Makefile
index 9d93d2bdef7099413e3ca32a34b70ee2e0141163..73121300cab7d1afeb25f2875931e1793caa6662 100644 (file)
@@ -4,7 +4,7 @@ OLD_SHELL := $(SHELL)
 SHELL = $(warning [$@])$(OLD_SHELL) -x
 endif
 
-all: skydns-image skydock-image api-image compute-image doc-image workbench-image keep-image sso-image shell-image
+all: skydns-image skydock-image api-image compute-image doc-image workbench-image keep-image keep-proxy-image sso-image shell-image
 
 IMAGE_FILES := $(shell ls *-image 2>/dev/null |grep -v -E 'debian-arvados-image|skydns-image|skydock-image')
 GENERATED_DIRS := $(shell ls */generated 2>/dev/null)
@@ -19,7 +19,7 @@ clean:
 
 DEBIAN_IMAGE := $(shell $(DOCKER) images -q arvados/debian |head -n1)
 
-REALCLEAN_CONTAINERS := $(shell $(DOCKER) ps -a |grep -e arvados -e api_server -e keep_server -e doc_server -e workbench_server |cut -f 1 -d' ')
+REALCLEAN_CONTAINERS := $(shell $(DOCKER) ps -a |grep -e arvados -e api_server -e keep_server -e keep_proxy_server -e doc_server -e workbench_server |cut -f 1 -d' ')
 REALCLEAN_IMAGES := $(shell $(DOCKER) images -q arvados/* |grep -v $(DEBIAN_IMAGE) 2>/dev/null)
 DEEPCLEAN_IMAGES := $(shell $(DOCKER) images -q arvados/*)
 SKYDNS_CONTAINERS := $(shell $(DOCKER) ps -a |grep -e crosbymichael/skydns -e crosbymichael/skydock |cut -f 1 -d' ')
@@ -70,7 +70,7 @@ SHELL_DEPS = shell/* config.yml $(SHELL_GENERATED)
 
 COMPUTE_DEPS = compute/* config.yml $(COMPUTE_GENERATED)
 
-DOC_DEPS = doc/Dockerfile doc/apache2_vhost
+DOC_DEPS = doc/Dockerfile $(DOC_GENERATED)
 
 WORKBENCH_DEPS = workbench/Dockerfile \
                  config.yml \
@@ -78,6 +78,8 @@ WORKBENCH_DEPS = workbench/Dockerfile \
 
 KEEP_DEPS = keep/Dockerfile config.yml $(KEEP_GENERATED)
 
+KEEP_PROXY_DEPS = keepproxy/Dockerfile config.yml $(KEEP_PROXY_GENERATED)
+
 SSO_DEPS = config.yml $(SSO_GENERATED)
 
 BCBIO_NEXTGEN_DEPS = bcbio-nextgen/Dockerfile
@@ -90,6 +92,9 @@ COMPUTE_GENERATED      = compute/generated/*
 KEEP_GENERATED_IN      = keep/*.in
 KEEP_GENERATED         = keep/generated/*
 
+KEEP_PROXY_GENERATED_IN      = keepproxy/*.in
+KEEP_PROXY_GENERATED         = keepproxy/generated/*
+
 API_GENERATED_IN       = api/*.in
 API_GENERATED          = api/generated/*
 
@@ -105,6 +110,9 @@ WORKBENCH_GENERATED    = workbench/generated/*
 SSO_GENERATED_IN       = sso/*.in
 SSO_GENERATED          = sso/generated/*
 
+DOC_GENERATED_IN       = doc/*.in
+DOC_GENERATED          = doc/generated/*
+
 KEEP_DEPS += keep/generated/bin/keepproxy
 KEEP_DEPS += keep/generated/bin/keepstore
 keep/generated/bin/%: $(wildcard build/services/%/*.go)
@@ -112,6 +120,12 @@ keep/generated/bin/%: $(wildcard build/services/%/*.go)
        ln -sfn ../../../../.. keep/generated/src/git.curoverse.com/arvados.git
        GOPATH=$(shell pwd)/keep/generated go get $(@:keep/generated/bin/%=git.curoverse.com/arvados.git/services/%)
 
+KEEP_PROXY_DEPS += keepproxy/generated/bin/keepproxy
+keepproxy/generated/bin/%: $(wildcard build/services/%/*.go)
+       mkdir -p keepproxy/generated/src/git.curoverse.com
+       ln -sfn ../../../../.. keepproxy/generated/src/git.curoverse.com/arvados.git
+       GOPATH=$(shell pwd)/keepproxy/generated go get $(@:keepproxy/generated/bin/%=git.curoverse.com/arvados.git/services/%)
+
 $(BUILD):
        mkdir -p build
        rsync -rlp --exclude=docker/ --exclude='**/log/*' --exclude='**/tmp/*' \
@@ -147,9 +161,15 @@ $(COMPUTE_GENERATED): $(COMPUTE_GENERATED_IN)
 $(SSO_GENERATED): $(SSO_GENERATED_IN)
        $(CONFIG_RB) sso
 
+$(DOC_GENERATED): $(DOC_GENERATED_IN)
+       $(CONFIG_RB) doc
+
 $(KEEP_GENERATED): $(KEEP_GENERATED_IN)
        $(CONFIG_RB) keep
 
+$(KEEP_PROXY_GENERATED): $(KEEP_PROXY_GENERATED_IN)
+       $(CONFIG_RB) keepproxy
+
 DOCKER_BUILD = $(DOCKER) build --rm=true
 
 # ============================================================
@@ -185,6 +205,11 @@ keep-image: debian-arvados-image $(BUILD) $(KEEP_DEPS)
        $(DOCKER_BUILD) -t arvados/keep keep
        date >keep-image
 
+keep-proxy-image: debian-arvados-image $(BUILD) $(KEEP_PROXY_DEPS)
+       @echo "Building keep-proxy-image"
+       $(DOCKER_BUILD) -t arvados/keepproxy keepproxy
+       date >keep-proxy-image
+
 jobs-image: base-image $(BUILD) $(JOBS_DEPS)
        $(DOCKER_BUILD) -t arvados/jobs jobs
        date >jobs-image