Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#############################################################################################
#############################################################################################
##
## 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