############################################################################################# ############################################################################################# ## ## BLACKBOX ## ############################################################################################# ############################################################################################# ifndef BLACKBOX_DOCKERFILE $(error $(ERRORMARKER) BLACKBOX_DOCKERFILE is not defined, check your Makefile if blackbox.mk is included) endif ifndef BLACKBOX_RUN_SCRIPT $(error $(ERRORMARKER) BLACKBOX_RUN_SCRIPT is not defined, check your Makefile if blackbox.mk is included) endif export BLACKBOX_DOCKERFILE export BLACKBOX_RUN_SCRIPT $(BLACKBOX_BUILD_DIR): $(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR) $(BLACKBOX_BUILD_DIR)/Dockerfile: $(BLACKBOX_BUILD_DIR) $(QUIET) $(ECHO) "$$BLACKBOX_DOCKERFILE" > $@ $(BLACKBOX_BUILD_DIR)/filesystem: $(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR)/filesystem $(BLACKBOX_BUILD_DIR)/filesystem/bin: $(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR)/filesystem/bin $(BLACKBOX_BUILD_DIR)/filesystem/bin/run-blackbox.sh: $(BLACKBOX_BUILD_DIR)/filesystem/bin $(QUIET) $(ECHO) "$$BLACKBOX_RUN_SCRIPT" > $@ $(QUIET) $(CHMOD) u+x $@ .PHONY: blackbox-build-image ## build blackbox image blackbox-build-image: $(BLACKBOX_BUILD_DIR)/Dockerfile $(BLACKBOX_BUILD_DIR)/filesystem/bin/run-blackbox.sh $(ECHOMARKER) "build blackbox image" $(QUIET) docker build --build-arg UID=$(shell id -u) \ --build-arg GID=$(shell id -g) \ --build-arg UNAME=$(shell id -un) \ -t $(BLACKBOX_IMAGE) $(BLACKBOX_BUILD_DIR) .PHONY: blackbox-open ## open credential with blackbox blackbox-open: ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),) $(QUIET) $(MAKE) blackbox-build-image endif $(ECHOMARKER) "open credential with blackbox" $(QUIET) docker run --user $(shell id -u):$(shell id -g) \ --rm -it \ -v $(BLACKBOX_ROOT_DIR):/repos \ -v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \ $(BLACKBOX_IMAGE) open .PHONY: blackbox-close ## close credential with blackbox blackbox-close: ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),) $(QUIET) $(MAKE) blackbox-build-image endif $(ECHOMARKER) "open credential with blackbox" $(QUIET) docker run --user $(shell id -u):$(shell id -g) \ --rm -it \ -v $(BLACKBOX_ROOT_DIR):/repos \ -v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \ $(BLACKBOX_IMAGE) close .PHONY: blackbox-run ## run credential with blackbox blackbox-run: ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),) $(QUIET) $(MAKE) blackbox-build-image endif $(ECHOMARKER) "open credential with blackbox" $(QUIET) docker run --user $(shell id -u):$(shell id -g) \ --rm -it \ -v $(BLACKBOX_ROOT_DIR):/repos \ -v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \ $(BLACKBOX_IMAGE) run