add stack duniter/v2s
This commit is contained in:
+1
-1
@@ -200,7 +200,7 @@ stack:
|
||||
## the last part of %
|
||||
## ex: stack-host-up will fire the docker-compose-up target in the host stack
|
||||
.PHONY: stack-%
|
||||
stack-%: stack
|
||||
stack-%:
|
||||
$(eval stack := $(subst -$(lastword $(subst -, ,$*)),,$*))
|
||||
$(eval command := $(lastword $(subst -, ,$*)))
|
||||
$(if $(findstring -,$*), \
|
||||
|
||||
+7
-3
@@ -1,9 +1,13 @@
|
||||
APP_DIR ?= $(CURDIR)
|
||||
APP_DOCKER_DIR ?= $(DOCKER_DIR)
|
||||
APP_DOMAIN ?= $(patsubst %,$(APP_DOMAIN_PREFIX)%,$(DOMAIN))
|
||||
APP_DOMAIN_PREFIX ?= $(if $(HOST_STACK),,$(addsuffix .,$(filter-out $(ENV_DEPLOY),$(ENV)))$(USER).)
|
||||
APP_HOST ?= $(patsubst %,$(APP_HOST_PREFIX)%,$(APP_DOMAIN))$(if $(HOST_LB),$(space)$(APP_DOMAIN))
|
||||
APP_HOST_PREFIX ?= $(addsuffix .,$(if $(HOST_STACK),$(HOSTNAME),$(if $(APP_LB),,$(APP_NAME))))
|
||||
APP_DOMAIN_PREFIX ?= $(if $(HOST_STACK),,$(addsuffix .,$(if $(APP_HOST_MULTI_ENV),$(filter-out $(ENV_DEPLOY),$(ENV))))$(if $(APP_HOST_MULTI_USER),$(USER).))
|
||||
APP_HOST ?= $(patsubst %,$(APP_HOST_PREFIX)%,$(APP_DOMAIN))$(if $(HOST_STACK),$(if $(HOST_LB),$(space)$(DOMAIN)))
|
||||
APP_HOST_PREFIX ?= $(addsuffix .,$(if $(HOST_STACK),$(HOSTNAME),$(if $(APP_HOST_MULTI_APP),$(APP_NAME))))
|
||||
APP_HOST_MULTI ?= false
|
||||
APP_HOST_MULTI_APP ?= $(if $(filter true,$(APP_HOST_MULTI)),true)
|
||||
APP_HOST_MULTI_ENV ?= $(if $(filter true,$(APP_HOST_MULTI)),true)
|
||||
APP_HOST_MULTI_USER ?= $(if $(filter true,$(APP_HOST_MULTI)),true)
|
||||
APP_INSTALLED ?= $(APPS)
|
||||
APP_PARENT ?= $(MONOREPO)
|
||||
APP_PARENT_DIR ?= $(MONOREPO_DIR)
|
||||
|
||||
+12
-5
@@ -5,6 +5,12 @@ ufw:
|
||||
|
||||
# target ufw-bootstrap: Eval ufw-docker app variables
|
||||
ufw-bootstrap:
|
||||
$(eval APP_COMPOSE_FILE :=)
|
||||
$(eval DOCKER_COMPOSE_PROJECT_NAME := $(HOST_COMPOSE_PROJECT_NAME))
|
||||
$(eval DOCKER_SERVICE := ufw-docker)
|
||||
$(eval DOCKER_STACK :=)
|
||||
$(eval MYOS_STACK :=)
|
||||
$(eval MYOS_STACK_FILE :=)
|
||||
$(call app-bootstrap,$(lastword $(subst /, ,$(SETUP_UFW_REPOSITORY))))
|
||||
|
||||
# target ufw-build: Build ufw-docker docker
|
||||
@@ -26,21 +32,22 @@ ufw-install:
|
||||
$(call app-install,$(SETUP_UFW_REPOSITORY))
|
||||
|
||||
# target ufw-up: Start ufw-docker docker
|
||||
ufw-up: COMPOSE_PROJECT_NAME := $(HOST_COMPOSE_PROJECT_NAME)
|
||||
ufw-up: DOCKER_RUN_NETWORK :=
|
||||
ufw-up: DOCKER_RUN_OPTIONS := --rm -d --cap-add NET_ADMIN -v /etc/ufw:/etc/ufw $(if wildcard /etc/default/ufw,-v /etc/default/ufw:/etc/default/ufw) --network host
|
||||
ufw-up: DOCKER_RUN_OPTIONS := --restart always -d --cap-add NET_ADMIN -v /etc/ufw:/etc/ufw $(if wildcard /etc/default/ufw,-v /etc/default/ufw:/etc/default/ufw) --network host
|
||||
ufw-up:
|
||||
$(call app-up)
|
||||
|
||||
# target ufw-update: Call ufw and ufw-docker foreach service UFW_UPDATE
|
||||
.PHONY: ufw-update
|
||||
ufw-update: debug-UFW_UPDATE
|
||||
$(eval name := $(COMPOSE_PROJECT_NAME))
|
||||
ufw-update: stack $(if $(HOST_STACK),setup-ufw) debug-UFW_UPDATE
|
||||
$(eval APP_COMPOSE_FILE :=)
|
||||
$(eval DOCKER_SERVICE := ufw-docker)
|
||||
$(eval project_name := $(COMPOSE_PROJECT_NAME))
|
||||
$(foreach UPDATE,$(call UPPERCASE,$(UFW_UPDATE)), \
|
||||
$(eval ufw_update := $($(if $(HOST_STACK),HOST_)$(UPDATE)_UFW_UPDATE)) \
|
||||
$(eval ufw_docker := $($(if $(HOST_STACK),HOST_)$(UPDATE)_UFW_DOCKER)) \
|
||||
$(foreach port,$(ufw_docker), \
|
||||
$(call ufw-docker,$(if $(UFW_DELETE),delete) allow $(name)-$(call LOWERCASE,$(UPDATE)) $(port) ||:) \
|
||||
$(call ufw-docker,$(if $(UFW_DELETE),delete) allow $(project_name)-$(call LOWERCASE,$(UPDATE))$(if $(HOST_STACK),,-1) $(port) ||:) \
|
||||
) \
|
||||
$(foreach port,$(ufw_update), \
|
||||
$(call ufw,$(if $(UFW_DELETE),delete) allow $(port)) \
|
||||
|
||||
+5
-5
@@ -19,13 +19,13 @@ define app-bootstrap
|
||||
$(eval APP := $(or $(1), $(APP)))
|
||||
$(eval APP_DIR := $(or $(2), $(RELATIVE)$(APP)))
|
||||
$(eval APP_NAME := $(or $(3),$(subst -,,$(subst .,,$(call LOWERCASE,$(APP))))))
|
||||
$(eval COMPOSE_PROJECT_NAME := $(if $(DOCKER_COMPOSE_PROJECT_NAME),$(DOCKER_COMPOSE_PROJECT_NAME),$(subst .,,$(call LOWERCASE,$(USER)-$(APP_NAME)-$(ENV)$(addprefix -,$(subst /,,$(subst -,,$(APP_PATH))))))))
|
||||
$(eval COMPOSE_SERVICE_NAME := $(if $(DOCKER_COMPOSE_SERVICE_NAME),$(DOCKER_COMPOSE_SERVICE_NAME),$(subst _,-,$(COMPOSE_PROJECT_NAME))))
|
||||
$(eval COMPOSE_PROJECT_NAME := $(or $(DOCKER_COMPOSE_PROJECT_NAME),$(subst .,,$(call LOWERCASE,$(USER)-$(APP_NAME)-$(ENV)$(addprefix -,$(subst /,,$(subst -,,$(APP_PATH))))))))
|
||||
$(eval COMPOSE_SERVICE_NAME := $(or $(DOCKER_COMPOSE_SERVICE_NAME),$(subst _,-,$(COMPOSE_PROJECT_NAME))))
|
||||
$(eval DOCKER_BUILD_DIR := $(APP_DIR))
|
||||
$(call compose-file,$(APP_DIR) $(APP_DIR)/$(or $(APP_DOCKER_DIR),$(DOCKER_DIR)),docker-compose)
|
||||
$(call compose-file,apps apps/$(APP),$(APP))
|
||||
$(eval APP_COMPOSE_FILE := $(COMPOSE_FILE))
|
||||
$(foreach stackz,$(STACK),$(call docker-stack,$(stackz)))
|
||||
$(eval APP_COMPOSE_FILE ?= $(COMPOSE_FILE))
|
||||
$(foreach stackz,$(or $(DOCKER_STACK),$(STACK)),$(call docker-stack,$(stackz)))
|
||||
$(call compose-file,$(MYOS_STACK),$(MYOS_STACK_FILE))
|
||||
$(call .env,$(APP_DIR)/.env,$(APP_DIR)/.env.dist $(APP_DIR)/.env.example $(APP_DIR)/.env.sample)
|
||||
endef
|
||||
@@ -86,7 +86,7 @@ define app-docker
|
||||
$(eval dockerfile := $(or $(1)))
|
||||
$(if $(wildcard $(dockerfile)),
|
||||
$(eval service := $(or $(DOCKER_SERVICE),$(subst .,,$(call LOWERCASE,$(lastword $(subst /, ,$(patsubst %/Dockerfile,%,$(dockerfile)))))),undefined))
|
||||
$(eval docker := ${COMPOSE_SERVICE_NAME}-$(service))
|
||||
$(eval docker := $(or $(DOCKER_COMPOSE_SERVICE_NAME),$(COMPOSE_SERVICE_NAME))-$(service))
|
||||
$(eval DOCKER_IMAGE := $(DOCKER_REPOSITORY)/$(service):$(DOCKER_IMAGE_TAG))
|
||||
$(eval DOCKER_LABELS := SERVICE_NAME=$(docker) SERVICE_TAGS=$(call urlprefix,$(APP_PATH),,$(service).$(APP_HOST)))
|
||||
$(eval DOCKER_NAME := $(docker))
|
||||
|
||||
+2
-2
@@ -83,7 +83,7 @@ endef
|
||||
# add variables definition to the .env file
|
||||
define .env_update
|
||||
$(call INFO,.env_update,$(env_file)$(comma) $(env_dist)$(comma) $(env_over))
|
||||
touch $(env_file) $(if $(VERBOSE)$(DEBUG),,2> /dev/null)
|
||||
touch $(env_file) $(if $(VERBOSE)$(DEBUG),,2> /dev/null) ||:
|
||||
printenv \
|
||||
|awk -F '=' 'NR == FNR { if($$1 !~ /^(#|$$)/) { A[$$1]; next } } !($$1 in A)' - $(env_dist) \
|
||||
|cat $(env_over) - \
|
||||
@@ -101,5 +101,5 @@ define .env_update
|
||||
awk '{while(match($$0,"[$$]{[^}]*}")) {var=substr($$0,RSTART+2,RLENGTH-3);gsub("[$$]{"var"}",ENVIRON[var])} print}') \
|
||||
|sed -e /^$$/d -e /^#/d \
|
||||
|sort \
|
||||
>> $(env_file);
|
||||
>> $(env_file) $(if $(VERBOSE)$(DEBUG),,2> /dev/null) ||:;
|
||||
endef
|
||||
|
||||
Reference in New Issue
Block a user