multi domain
This commit is contained in:
+16
-21
@@ -1,7 +1,7 @@
|
||||
BUILD_AUTHOR ?= $(DOCKER_AUTHOR)
|
||||
BUILD_DATE ?= $(shell TZ=UTC date "+%Y%m%dT%H%M%SZ" 2>/dev/null)
|
||||
BUILD_DESCRIPTION ?= Lot of Love
|
||||
BUILD_DOCUMENTATION ?= $(if $(wildcard README.md),$(APP_REPOSITORY_URL)/blob/$(COMMIT)/README.md)
|
||||
BUILD_DOCUMENTATION ?= $(APP_REPOSITORY_URL)$(if $(wildcard README.md),/blob/$(COMMIT)/README.md)
|
||||
BUILD_ENV_VARS ?= APP BRANCH BUILD_DATE BUILD_STATUS COMMIT DEPLOY_HOOK_URL ENV UID USER VERSION
|
||||
BUILD_LABEL_VARS ?= org.label-schema.% org.opencontainers.% os.my.%
|
||||
BUILD_LABEL_ARGS ?= $(foreach var,$(filter $(BUILD_LABEL_VARS),$(MAKE_FILE_VARS)),$(if $($(var)),$(var)='$($(var))'))
|
||||
@@ -22,29 +22,24 @@ org.label-schema.vcs-ref ?= $(COMMIT)
|
||||
org.label-schema.vcs-url ?= $(APP_REPOSITORY_URL)
|
||||
org.label-schema.vendor ?= $(BUILD_AUTHOR)
|
||||
org.label-schema.version ?= $(VERSION)
|
||||
org.opencontainers.image.created ?= $(BUILD_DATE)
|
||||
org.opencontainers.image.revision ?= $(COMMIT)
|
||||
org.opencontainers.image.source ?= $(APP_REPOSITORY_URL)
|
||||
org.opencontainers.image.url ?= $(APP_URL)
|
||||
org.opencontainers.image.vendor ?= $(BUILD_AUTHOR)
|
||||
org.opencontainers.image.version ?= $(VERSION)
|
||||
org.opencontainers.image.url ?= $(APP_URL)
|
||||
org.opencontainers.image.source ?= $(APP_REPOSITORY_URL)
|
||||
org.opencontainers.image.version ?= $(VERSION)
|
||||
org.opencontainers.image.revision ?= $(COMMIT)
|
||||
org.opencontainers.image.vendor ?= $(BUILD_AUTHOR)
|
||||
org.opencontainers.image.title ?= $(BUILD_NAME)
|
||||
org.opencontainers.image.description ?= $(BUILD_DESCRIPTION)
|
||||
org.opencontainers.image.documentation ?= $(BUILD_DOCUMENTATION)
|
||||
org.opencontainers.build_tool.revision ?= $(MYOS_COMMIT)
|
||||
org.opencontainers.build_tool.source ?= $(MYOS_REPOSITORY)
|
||||
org.opencontainers.image.authors ?= $(BUILD_AUTHOR)
|
||||
org.opencontainers.image.created ?= $(BUILD_DATE)
|
||||
org.opencontainers.image.description ?= $(BUILD_DESCRIPTION)
|
||||
org.opencontainers.image.documentation ?= $(BUILD_DOCUMENTATION)
|
||||
org.opencontainers.image.licenses ?= $(BUILD_LICENSE)
|
||||
os.my.author ?= $(BUILD_AUTHOR)
|
||||
os.my.date ?= $(BUILD_DATE)
|
||||
os.my.license ?= $(BUILD_LICENSE)
|
||||
os.my.name ?= $(BUILD_NAME)
|
||||
os.my.status ?= $(BUILD_STATUS)
|
||||
os.my.user ?= $(USER)
|
||||
org.opencontainers.image.revision ?= $(COMMIT)
|
||||
org.opencontainers.image.source ?= $(APP_REPOSITORY_URL)
|
||||
org.opencontainers.image.title ?= $(BUILD_NAME)
|
||||
org.opencontainers.image.url ?= $(APP_URL)
|
||||
org.opencontainers.image.vendor ?= $(BUILD_AUTHOR)
|
||||
org.opencontainers.image.version ?= $(VERSION)
|
||||
os.my.app ?= $(APP)
|
||||
os.my.build.status ?= $(BUILD_STATUS)
|
||||
os.my.compose.file ?= $(COMPOSE_FILE)
|
||||
os.my.compose.project.name ?= $(COMPOSE_PROJECT_NAME)
|
||||
os.my.env ?= $(ENV)
|
||||
os.my.uid ?= $(UID)
|
||||
os.my.service ?= $(BUILD_SERVICE)
|
||||
os.my.version ?= $(VERSION)
|
||||
|
||||
@@ -18,7 +18,7 @@ CONTEXT_DEBUG += DOCKER_BUILD_TARGET DOCKER_COMPOSE_PROJECT_NA
|
||||
DOCKER_AUTHOR ?= $(DOCKER_AUTHOR_NAME) <$(DOCKER_AUTHOR_EMAIL)>
|
||||
DOCKER_AUTHOR_EMAIL ?= $(subst +git,+docker,$(GIT_AUTHOR_EMAIL))
|
||||
DOCKER_AUTHOR_NAME ?= $(GIT_AUTHOR_NAME)
|
||||
DOCKER_BUILD_ARGS ?= $(if $(filter true,$(DOCKER_BUILD_NO_CACHE)),--pull --no-cache) $(foreach var,$(DOCKER_BUILD_VARS),$(if $($(var)),--build-arg $(var)='$($(var))')) --build-arg GID='$(if $(filter host,$(firstword $(subst /, ,$(STACK)))),$(HOST_GID),$(GID))' --build-arg UID='$(if $(filter host,$(firstword $(subst /, ,$(STACK)))),$(HOST_UID),$(UID))'
|
||||
DOCKER_BUILD_ARGS ?= $(if $(filter true,$(DOCKER_BUILD_NO_CACHE)),--pull --no-cache) $(foreach var,$(DOCKER_BUILD_VARS),$(if $($(var)),--build-arg $(var)='$($(var))')) --build-arg GID='$(if $(STACK_HOST),$(HOST_GID),$(GID))' --build-arg UID='$(if $(STACK_HOST),$(HOST_UID),$(UID))'
|
||||
DOCKER_BUILD_CACHE ?= true
|
||||
DOCKER_BUILD_LABEL ?= $(foreach var,$(filter $(BUILD_LABEL_VARS),$(MAKE_FILE_VARS)),$(if $($(var)),--label $(var)='$($(var))'))
|
||||
DOCKER_BUILD_NO_CACHE ?= false
|
||||
@@ -29,7 +29,7 @@ DOCKER_BUILD_VARS ?= APP BRANCH COMPOSE_VERSION DOCKER_GID DOCKER_
|
||||
DOCKER_COMPOSE ?= $(or $(shell docker-compose --version 2>/dev/null |awk '$$4 != "v'"$(COMPOSE_VERSION)"'" {exit 1;}' && printf 'docker-compose\n'),$(shell docker compose >/dev/null 2>&1 && printf 'docker compose\n'))
|
||||
DOCKER_COMPOSE_ARGS ?= --ansi=auto
|
||||
DOCKER_COMPOSE_DOWN_OPTIONS ?=
|
||||
DOCKER_COMPOSE_PROJECT_NAME ?= $(if $(filter host,$(firstword $(subst /, ,$(STACK)))),$(HOST_COMPOSE_PROJECT_NAME),$(if $(filter User,$(firstword $(subst /, ,$(STACK)))),$(USER_COMPOSE_PROJECT_NAME)))
|
||||
DOCKER_COMPOSE_PROJECT_NAME ?= $(if $(STACK_HOST),$(HOST_COMPOSE_PROJECT_NAME),$(if $(STACK_USER),$(USER_COMPOSE_PROJECT_NAME)))
|
||||
DOCKER_COMPOSE_RUN_ENTRYPOINT ?= $(patsubst %,--entrypoint=%,$(DOCKER_COMPOSE_ENTRYPOINT))
|
||||
DOCKER_COMPOSE_RUN_OPTIONS ?= --rm $(DOCKER_COMPOSE_RUN_ENTRYPOINT) $(DOCKER_COMPOSE_RUN_WORKDIR)
|
||||
DOCKER_COMPOSE_RUN_WORKDIR ?= $(if $(DOCKER_COMPOSE_WORKDIR),-w $(DOCKER_COMPOSE_WORKDIR))
|
||||
|
||||
+20
-4
@@ -1,6 +1,8 @@
|
||||
APP_DIR ?= $(CURDIR)
|
||||
APP_DOMAIN ?= $(addsuffix .,$(filter-out $(ENV_DEPLOY),$(ENV)))$(USER).$(DOMAIN)
|
||||
APP_HOST ?= $(addsuffix .,$(APP_NAME))$(APP_DOMAIN)
|
||||
APP_DOMAIN ?= $(patsubst %,$(APP_DOMAIN_PREFIX)%,$(DOMAIN))
|
||||
APP_DOMAIN_PREFIX ?= $(if $(STACK_HOST),,$(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 $(STACK_HOST),$(HOSTNAME),$(if $(APP_LB),,$(APP_NAME))))
|
||||
APP_INSTALLED ?= $(APPS)
|
||||
APP_PARENT ?= $(MONOREPO)
|
||||
APP_PARENT_DIR ?= $(MONOREPO_DIR)
|
||||
@@ -14,9 +16,9 @@ APP_REPOSITORY_URL ?= $(GIT_REPOSITORY)
|
||||
APP_REQUIRED ?= $(APP_REPOSITORY)
|
||||
APP_SCHEME ?= https
|
||||
APP_UPSTREAM_REPOSITORY ?= $(or $(shell git config --get remote.upstream.url 2>/dev/null),$(GIT_UPSTREAM_REPOSITORY))
|
||||
APP_URI ?= $(APP_HOST)/$(APP_PATH)
|
||||
APP_URI ?= $(patsubst %,%/$(APP_PATH),$(APP_HOST))
|
||||
APP_URIS ?= $(APP_URI)
|
||||
APP_URL ?= $(APP_SCHEME)://$(APP_URI)
|
||||
APP_URL ?= $(patsubst %,$(APP_SCHEME)://%,$(APP_URI))
|
||||
CONTEXT += APP APPS BRANCH DOMAIN VERSION RELEASE
|
||||
CONTEXT_DEBUG += APP_DIR APP_URL APP_REPOSITORY APP_UPSTREAM_REPOSITORY ENV_DEPLOY
|
||||
ENV_DEPLOY ?= $(patsubst origin/%,%,$(shell git rev-parse --symbolic --remotes=origin |sed '/origin\/HEAD/d' 2>/dev/null))
|
||||
@@ -26,3 +28,17 @@ MOUNT_NFS ?= false
|
||||
NFS_CONFIG ?= addr=$(NFS_HOST),actimeo=3,intr,noacl,noatime,nocto,nodiratime,nolock,soft,rsize=32768,wsize=32768,tcp,rw,vers=3
|
||||
NFS_HOST ?= host.docker.internal
|
||||
SERVICES ?= $(DOCKER_SERVICES)
|
||||
|
||||
patsublist = $(patsubst $(1),$(2),$(firstword $(3)))$(foreach pat,$(wordlist 2,16,$(3)),$(comma)$(space)$(patsubst $(1),$(2),$(pat)))
|
||||
urlprefix = $(call patsublist,%,urlprefix-%$(1),$(or $(2),$(APP_URIS)))
|
||||
urlprefixs = $(call urlprefix,$(1))$(foreach prefix,$(subst $(space),$(dollar),$(2)) $(subst $(space),$(dollar),$(3)) $(subst $(space),$(dollar),$(4)),$(comma)$(space)$(call subst,$(dollar),$(space),$(call urlprefix,$(prefix))))
|
||||
## urlprefix tests (x APP_URI)
|
||||
# $(call urlprefix)
|
||||
# urlprefix-app.domain/
|
||||
# $(call urlprefix,admin)
|
||||
# urlprefix-app.domain/admin
|
||||
# $(call urlprefix,:443/ proto=https,$(APP_HOST))
|
||||
# urlprefix-app.domain:443/ proto=https
|
||||
## urlprefixs tests (x prefix)
|
||||
# $(call urlprefixs,admin strip=/admin,images)
|
||||
# urlprefix-app.domain/admin strip=/admin, urlprefix-app.domain/images
|
||||
|
||||
+2
-2
@@ -18,8 +18,8 @@ ufw-docker:
|
||||
ufw-update: debug-UFW_UPDATE
|
||||
$(eval name := $(COMPOSE_PROJECT_NAME))
|
||||
$(foreach UPDATE,$(call UPPERCASE,$(UFW_UPDATE)), \
|
||||
$(eval ufw_update := $($(if $(filter host,$(firstword $(subst /, ,$(STACK)))),HOST_)$(UPDATE)_UFW_UPDATE)) \
|
||||
$(eval ufw_docker := $($(if $(filter host,$(firstword $(subst /, ,$(STACK)))),HOST_)$(UPDATE)_UFW_DOCKER)) \
|
||||
$(eval ufw_update := $($(if $(STACK_HOST),HOST_)$(UPDATE)_UFW_UPDATE)) \
|
||||
$(eval ufw_docker := $($(if $(STACK_HOST),HOST_)$(UPDATE)_UFW_DOCKER)) \
|
||||
$(foreach port,$(ufw_docker), \
|
||||
$(call ufw-docker,$(if $(UFW_DELETE),delete) allow $(name)-$(call LOWERCASE,$(UPDATE)) $(port) ||:) \
|
||||
) \
|
||||
|
||||
Reference in New Issue
Block a user