wip
This commit is contained in:
+1
-23
@@ -1,25 +1,3 @@
|
||||
# target base: Fire docker-network-create stack-base-up base-ssh-add
|
||||
.PHONY: base
|
||||
base: docker-network-create $(if $(filter $(DOCKER),true),stack-base-up base-ssh-add)
|
||||
|
||||
# target ssh-add: Fire base-ssh-add
|
||||
.PHONY: ssh-add
|
||||
ssh-add: base-ssh-add
|
||||
|
||||
# target base-ssh-add: Fire base-ssh-key and exec ssh-add file SSH_PRIVATE_KEYS in folder SSH_DIR
|
||||
.PHONY: base-ssh-add
|
||||
base-ssh-add: base-ssh-key
|
||||
$(eval SSH_PRIVATE_KEYS := $(foreach file,$(SSH_DIR)/id_rsa $(filter-out $(wildcard $(SSH_DIR)/id_rsa),$(wildcard $(SSH_DIR)/*)),$(if $(shell grep "PRIVATE KEY" $(file) 2>/dev/null),$(notdir $(file)))))
|
||||
$(eval IGNORE_VERBOSE := true)
|
||||
$(call docker-run,$(DOCKER_IMAGE_CLI),sh -c "$(foreach file,$(patsubst %,$(SSH_DIR)/%,$(SSH_PRIVATE_KEYS)),ssh-add -l |grep -qw $$(ssh-keygen -lf $(file) 2>/dev/null |awk '{print $$2}') 2>/dev/null || ssh-add $(file) ||: &&) true")
|
||||
$(eval IGNORE_VERBOSE := false)
|
||||
|
||||
# target base-ssh-key: Setup ssh private key SSH_KEY in SSH_DIR
|
||||
.PHONY: base-ssh-key
|
||||
base-ssh-key: stack-base-up
|
||||
ifneq (,$(filter true,$(DRONE)))
|
||||
$(call exec,[ ! -d $(SSH_DIR) ] && mkdir -p $(SSH_DIR) && chown $(UID) $(SSH_DIR) && chmod 0700 $(SSH_DIR) ||:)
|
||||
else
|
||||
$(eval DOCKER_RUN_VOLUME += -v $(SSH_DIR):$(SSH_DIR))
|
||||
endif
|
||||
$(if $(SSH_KEY),$(eval export SSH_KEY ?= $(SSH_KEY)) $(call docker-run,$(DOCKER_IMAGE_CLI),echo -e "$$SSH_KEY" > $(SSH_DIR)/${COMPOSE_PROJECT_NAME}_id_rsa && chmod 0400 $(SSH_DIR)/${COMPOSE_PROJECT_NAME}_id_rsa && chown $(UID) $(SSH_DIR)/${COMPOSE_PROJECT_NAME}_id_rsa ||:))
|
||||
base: docker-network-create $(if $(DOCKER_RUN),stack-base-up) ssh-add
|
||||
|
||||
@@ -5,14 +5,6 @@ services:
|
||||
build:
|
||||
args:
|
||||
- DOCKER_BUILD_DIR=docker/cli
|
||||
- GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME}
|
||||
- GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL}
|
||||
- SSH_BASTION_USERNAME=${SSH_BASTION_USERNAME}
|
||||
- SSH_BASTION_HOSTNAME=${SSH_BASTION_HOSTNAME}
|
||||
- SSH_PUBLIC_HOST_KEYS=${SSH_PUBLIC_HOST_KEYS}
|
||||
- SSH_PRIVATE_IP_RANGE=${SSH_PRIVATE_IP_RANGE}
|
||||
- UID=${UID}
|
||||
- USER=${USER}
|
||||
context: ../..
|
||||
dockerfile: docker/cli/Dockerfile
|
||||
target: ${DOCKER_BUILD_TARGET}
|
||||
@@ -34,8 +26,6 @@ services:
|
||||
build:
|
||||
args:
|
||||
- DOCKER_BUILD_DIR=docker/ssh
|
||||
- UID=${UID}
|
||||
- USER=${USER}
|
||||
context: ../..
|
||||
dockerfile: docker/ssh/Dockerfile
|
||||
target: ${DOCKER_BUILD_TARGET}
|
||||
@@ -49,11 +39,6 @@ services:
|
||||
|
||||
volumes:
|
||||
ssh:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: tmpfs
|
||||
device: tmpfs
|
||||
o: uid=${UID}
|
||||
|
||||
networks:
|
||||
private:
|
||||
|
||||
+2
-10
@@ -1,13 +1,5 @@
|
||||
ENV_VARS += DOCKER_HOST_IFACE DOCKER_HOST_INET
|
||||
|
||||
# target node: Fire docker-network-create-% for DOCKER_NETWORK_PUBLIC node-openssl stack-node-up
|
||||
# target node: Fire docker-network-create-% for DOCKER_NETWORK_PUBLIC ssl-certs stack-node-up
|
||||
.PHONY: node
|
||||
node: docker-network-create-$(DOCKER_NETWORK_PUBLIC) node-openssl stack-node-up
|
||||
|
||||
# target node-openssl: Create /certs/${DOMAIN}.key.pem and /certs/${DOMAIN}.crt.pem files
|
||||
.PHONY: node-openssl
|
||||
node-openssl:
|
||||
docker run --rm --mount source=$(COMPOSE_PROJECT_NAME_NODE)_ssl-certs,target=/certs alpine:latest [ -f /certs/$(DOMAIN).crt.pem -a -f /certs/$(DOMAIN).key.pem ] \
|
||||
|| docker run --rm -e DOMAIN=$(DOMAIN) --mount source=$(COMPOSE_PROJECT_NAME_NODE)_ssl-certs,target=/certs alpine:latest sh -c "apk --no-cache add openssl \
|
||||
&& { [ -f /certs/${DOMAIN}.key.pem ] || openssl genrsa -out /certs/${DOMAIN}.key.pem 2048; } \
|
||||
&& openssl req -key /certs/${DOMAIN}.key.pem -out /certs/${DOMAIN}.crt.pem -addext extendedKeyUsage=serverAuth -addext subjectAltName=DNS:${DOMAIN} -subj \"/C=/ST=/L=/O=/CN=${DOMAIN}\" -x509 -days 365"
|
||||
node: docker-network-create-$(DOCKER_NETWORK_PUBLIC) ssl-certs stack-node-up
|
||||
|
||||
@@ -5,10 +5,6 @@ services:
|
||||
build:
|
||||
args:
|
||||
- DOCKER_BUILD_DIR=docker/sematext/logagent
|
||||
- GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME}
|
||||
- GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL}
|
||||
- UID=${UID}
|
||||
- USER=${USER}
|
||||
context: ../..
|
||||
dockerfile: docker/sematext/logagent/Dockerfile
|
||||
target: ${DOCKER_BUILD_TARGET}
|
||||
|
||||
@@ -5,15 +5,6 @@ services:
|
||||
build:
|
||||
args:
|
||||
- DOCKER_BUILD_DIR=docker/theia
|
||||
- DOCKER_GID=${DOCKER_GID}
|
||||
- GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME}
|
||||
- GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL}
|
||||
- SSH_BASTION_USERNAME=${SSH_BASTION_USERNAME}
|
||||
- SSH_BASTION_HOSTNAME=${SSH_BASTION_HOSTNAME}
|
||||
- SSH_PUBLIC_HOST_KEYS=${SSH_PUBLIC_HOST_KEYS}
|
||||
- SSH_PRIVATE_IP_RANGE=${SSH_PRIVATE_IP_RANGE}
|
||||
- UID=${UID}
|
||||
- USER=${USER}
|
||||
context: ../..
|
||||
dockerfile: docker/theia/Dockerfile
|
||||
target: ${DOCKER_BUILD_TARGET}
|
||||
|
||||
Reference in New Issue
Block a user