myos/make/apps/def.mk

45 lines
3.1 KiB
Makefile
Raw Normal View History

2021-05-31 20:52:49 +02:00
APP_DIR ?= $(CURDIR)
2022-12-09 20:17:22 +01:00
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))))
2021-06-12 03:13:01 +02:00
APP_INSTALLED ?= $(APPS)
2021-06-06 16:29:54 +02:00
APP_PARENT ?= $(MONOREPO)
APP_PARENT_DIR ?= $(MONOREPO_DIR)
2021-06-16 13:19:52 +02:00
APP_PATH += $(APP_PATH_PREFIX)
APP_REPOSITORY ?= $(APP_REPOSITORY_URL)
APP_REPOSITORY_HOST ?= $(shell printf '$(APP_REPOSITORY_URI)\n' |sed 's|/.*||;s|.*@||')
APP_REPOSITORY_PATH ?= $(shell printf '$(APP_REPOSITORY_URI)\n' |sed 's|[^/]*/||;')
APP_REPOSITORY_SCHEME ?= $(shell printf '$(APP_REPOSITORY_URL)\n' |sed 's|://.*||;')
APP_REPOSITORY_URI ?= $(shell printf '$(APP_REPOSITORY_URL)\n' |sed 's|.*://||;')
APP_REPOSITORY_URL ?= $(GIT_REPOSITORY)
2021-06-12 03:13:01 +02:00
APP_REQUIRED ?= $(APP_REPOSITORY)
2021-05-31 20:52:49 +02:00
APP_SCHEME ?= https
APP_UPSTREAM_REPOSITORY ?= $(or $(shell git config --get remote.upstream.url 2>/dev/null),$(GIT_UPSTREAM_REPOSITORY))
2022-12-09 20:17:22 +01:00
APP_URI ?= $(patsubst %,%/$(APP_PATH),$(APP_HOST))
2022-11-29 17:22:35 +01:00
APP_URIS ?= $(APP_URI)
2022-12-09 20:17:22 +01:00
APP_URL ?= $(patsubst %,$(APP_SCHEME)://%,$(APP_URI))
2021-06-16 13:19:52 +02:00
CONTEXT += APP APPS BRANCH DOMAIN VERSION RELEASE
2021-06-14 12:52:48 +02:00
CONTEXT_DEBUG += APP_DIR APP_URL APP_REPOSITORY APP_UPSTREAM_REPOSITORY ENV_DEPLOY
2022-11-20 01:34:03 +01:00
ENV_DEPLOY ?= $(patsubst origin/%,%,$(shell git rev-parse --symbolic --remotes=origin |sed '/origin\/HEAD/d' 2>/dev/null))
2021-05-31 20:52:49 +02:00
ENV_VARS += APP_DIR APP_DOMAIN APP_HOST APP_PATH APP_URL CONSUL_HTTP_TOKEN $(if $(filter true,$(MOUNT_NFS)),NFS_CONFIG)
2022-12-05 20:29:00 +01:00
MAKECMDARGS += exec exec:% exec@% run run:% run@%
2021-02-09 17:05:00 +01:00
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
2021-06-12 03:13:01 +02:00
SERVICES ?= $(DOCKER_SERVICES)
2022-12-09 20:17:22 +01:00
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