2021-10-15 15:06:04 -04:00
|
|
|
SHELL=bash
|
2021-10-20 09:07:19 -04:00
|
|
|
IMAGE_NAME=vinyldns-api-integration
|
2021-10-15 15:06:04 -04:00
|
|
|
ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
|
|
|
RELATIVE_ROOT_DIR:=$(shell realpath --relative-to=../../.. $(ROOT_DIR))
|
|
|
|
|
|
|
|
# Check that the required version of make is being used
|
|
|
|
REQ_MAKE_VER:=3.82
|
|
|
|
ifneq ($(REQ_MAKE_VER),$(firstword $(sort $(MAKE_VERSION) $(REQ_MAKE_VER))))
|
|
|
|
$(error The version of MAKE $(REQ_MAKE_VER) or higher is required; you are running $(MAKE_VERSION))
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Extract arguments for `make run`
|
2021-11-02 17:06:24 -04:00
|
|
|
EXTRACT_ARGS=false
|
2021-10-15 15:06:04 -04:00
|
|
|
ifeq (run,$(firstword $(MAKECMDGOALS)))
|
|
|
|
EXTRACT_ARGS=true
|
|
|
|
endif
|
|
|
|
ifeq ($(EXTRACT_ARGS),true)
|
|
|
|
# use the rest as arguments for "run"
|
2021-10-20 09:07:19 -04:00
|
|
|
WITH_ARGS ?= $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
|
2021-10-15 15:06:04 -04:00
|
|
|
endif
|
2021-11-02 17:06:24 -04:00
|
|
|
ifneq ($(WITH_ARGS),)
|
|
|
|
ARG_SEPARATOR=--
|
2021-10-27 13:43:21 -04:00
|
|
|
endif
|
2021-10-15 15:06:04 -04:00
|
|
|
|
|
|
|
%:
|
|
|
|
@:
|
|
|
|
|
|
|
|
.ONESHELL:
|
|
|
|
|
|
|
|
.PHONY: all build run run-local
|
|
|
|
|
|
|
|
all: build run
|
|
|
|
|
|
|
|
build:
|
|
|
|
@set -euo pipefail
|
|
|
|
cd ../../..
|
|
|
|
docker build -t $(IMAGE_NAME) --build-arg DOCKERFILE_PATH="$(RELATIVE_ROOT_DIR)" -f "$(ROOT_DIR)/Dockerfile" .
|
|
|
|
|
|
|
|
run:
|
|
|
|
@set -euo pipefail
|
2021-11-02 17:06:24 -04:00
|
|
|
USE_TTY="" && test -t 1 && USE_TTY="-t"
|
|
|
|
docker run -i $${USE_TTY} --rm $(DOCKER_PARAMS) $(IMAGE_NAME) $(ARG_SEPARATOR) $(WITH_ARGS)
|
2021-10-15 15:06:04 -04:00
|
|
|
|
|
|
|
run-bg:
|
|
|
|
@set -euo pipefail
|
2021-10-20 09:07:19 -04:00
|
|
|
docker stop $(IMAGE_NAME) &> /dev/null || true
|
2021-11-02 17:06:24 -04:00
|
|
|
USE_TTY="" && test -t 1 && USE_TTY="-t"
|
2021-11-01 12:36:21 -04:00
|
|
|
docker run -d $${USE_TTY} --name $(IMAGE_NAME) --rm $(DOCKER_PARAMS) -e RUN_SERVICES="deps-only tail-logs" -p 19001-19003:19001-19003 -p 19001:19001/udp $(IMAGE_NAME)
|
2021-10-20 09:07:19 -04:00
|
|
|
|
|
|
|
stop-bg:
|
|
|
|
@set -euo pipefail
|
|
|
|
docker stop $(IMAGE_NAME) &> /dev/null || true
|
2021-10-15 15:06:04 -04:00
|
|
|
|
|
|
|
run-local:
|
|
|
|
@set -euo pipefail
|
2021-11-02 17:06:24 -04:00
|
|
|
USE_TTY="" && test -t 1 && USE_TTY="-t"
|
2021-11-01 12:36:21 -04:00
|
|
|
docker run -i $${USE_TTY} --rm $(DOCKER_PARAMS) -p 9000:9000 -p 19001-19003:19001-19003 -p 19001:19001/udp -v "$(ROOT_DIR)/../../..:/build" $(IMAGE_NAME) -- $(WITH_ARGS)
|