diff --git a/make/apps/def.build.mk b/make/apps/def.build.mk index 8d3091a..275e2f4 100644 --- a/make/apps/def.build.mk +++ b/make/apps/def.build.mk @@ -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) diff --git a/make/apps/def.docker.mk b/make/apps/def.docker.mk index 81ce88a..0d6be50 100644 --- a/make/apps/def.docker.mk +++ b/make/apps/def.docker.mk @@ -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)) diff --git a/make/apps/def.mk b/make/apps/def.mk index 8620d0c..1782805 100644 --- a/make/apps/def.mk +++ b/make/apps/def.mk @@ -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 diff --git a/make/apps/ufw.mk b/make/apps/ufw.mk index 1372d60..f43ba6c 100644 --- a/make/apps/ufw.mk +++ b/make/apps/ufw.mk @@ -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) ||:) \ ) \ diff --git a/make/def.app.mk b/make/def.app.mk index b406ab5..e3d66ef 100644 --- a/make/def.app.mk +++ b/make/def.app.mk @@ -52,7 +52,7 @@ define app-docker $(eval service := $(or $(DOCKER_SERVICE),$(subst .,,$(call LOWERCASE,$(lastword $(subst /, ,$(patsubst %/Dockerfile,%,$(dockerfile)))))),undefined)) $(eval docker := ${COMPOSE_SERVICE_NAME}-$(service)) $(eval DOCKER_IMAGE := $(DOCKER_REPOSITORY)/$(service):$(DOCKER_IMAGE_TAG)) - $(eval DOCKER_LABELS := SERVICE_NAME=$(docker) SERVICE_TAGS=urlprefix-$(service).$(APP_DOMAIN)/$(APP_PATH)) + $(eval DOCKER_LABELS := SERVICE_NAME=$(docker) SERVICE_TAGS=$(call urlprefix,$(APP_PATH),$(service).$(APP_HOST)/) $(eval DOCKER_NAME := $(docker)) $(eval DOCKER_RUN_NAME := --name $(DOCKER_NAME)) , $(call ERROR,Unable to find Dockerfile,$(dockerfile)) diff --git a/make/def.docker.mk b/make/def.docker.mk index f72ca78..81fc505 100644 --- a/make/def.docker.mk +++ b/make/def.docker.mk @@ -4,7 +4,7 @@ DOCKER_GID ?= $(call gid,docker) DOCKER_IMAGE ?= $(USER_DOCKER_IMAGE) DOCKER_MACHINE ?= $(shell docker run --rm alpine uname -m 2>/dev/null) DOCKER_NAME ?= $(USER_DOCKER_NAME) -DOCKER_NETWORK ?= $(if $(filter User,$(firstword $(subst /, ,$(STACK)))),$(USER),$(DOCKER_NETWORK_PRIVATE)) +DOCKER_NETWORK ?= $(if $(STACK_USER),$(USER),$(DOCKER_NETWORK_PRIVATE)) DOCKER_NETWORK_PRIVATE ?= $(USER)-$(ENV) DOCKER_NETWORK_PUBLIC ?= $(HOSTNAME) # DOCKER_RUN: if empty, run system command, else run it in a docker @@ -26,6 +26,8 @@ HOST_DOCKER_VOLUME ?= $(HOST_COMPOSE_PROJECT_NAME) HOST_GID ?= 100 HOST_UID ?= 123 RESU_DOCKER_REPOSITORY ?= $(subst -,/,$(subst _,/,$(USER_COMPOSE_PROJECT_NAME))) +STACK_HOST ?= $(filter host,$(firstword $(subst /, ,$(STACK)))) +STACK_USER ?= $(filter User,$(firstword $(subst /, ,$(STACK)))) USER_COMPOSE_PROJECT_NAME ?= $(strip $(RESU)) USER_COMPOSE_SERVICE_NAME ?= $(subst _,-,$(subst .,-,$(USER_COMPOSE_PROJECT_NAME))) USER_DOCKER_IMAGE ?= $(USER_DOCKER_REPOSITORY):${DOCKER_IMAGE_TAG} diff --git a/make/def.mk b/make/def.mk index dce5aee..5e84417 100644 --- a/make/def.mk +++ b/make/def.mk @@ -3,8 +3,9 @@ comma ?= , dollar ?= $ dquote ?= " -quote ?= ' lbracket ?= ( +percent ?= % +quote ?= ' rbracket ?= ) APP ?= $(if $(wildcard .git),$(notdir $(CURDIR))) APP_LOAD ?= $(if $(SUBREPO),subrepo) $(if $(filter .,$(MYOS)),myos) @@ -169,8 +170,8 @@ INFO = $(if $(VERBOSE),$(if $(filter-out true,$(IGNORE_VERBOSE)), \ )) # macro RESU: Print USER associated to MAIL -RESU = \ -$(if $(findstring @,$(MAIL)), \ +RESU = $(strip \ + $(if $(findstring @,$(MAIL)), \ $(eval user := $(subst +,,$(subst -,,$(call LOWERCASE,$(shell printf '$(MAIL)' |awk -F "@" '{print $$1}'))))) \ $(eval domain := $(call LOWERCASE,$(call subst,_,,$(shell printf '$(MAIL)' |awk -F "@" '{print $$NF}')))) \ $(if $(domain), \ @@ -183,9 +184,9 @@ $(if $(findstring @,$(MAIL)), \ $(resu_niamod) \ , $(USER) \ ) \ -, $(USER) \ + , $(USER) \ + ) \ ) - # macro TIME: Print time elapsed since unixtime 1 TIME = awk '{printf "%02d:%02d:%02d\n",int($$1/3600),int(($$1%3600)/60),int($$1%60)}' \ <<< $(shell awk 'BEGIN {current=$(or $(2),$(MAKE_UNIXTIME_CURRENT)); start=$(or $(1),$(MAKE_UNIXTIME_START)); print (current - start)}' 2>/dev/null) diff --git a/stack/User/User.mk b/stack/User/User.mk index ac08fd9..a2011c8 100644 --- a/stack/User/User.mk +++ b/stack/User/User.mk @@ -9,10 +9,8 @@ start-stack-User: ssh-add # target user: Fire start-stack-User if DOCKER_RUN or fire start-stack-User .PHONY: User user -User user: STACK := User User user: $(if $(DOCKER_RUN),stack-User-up,start-stack-User) # target User-% user-%; Fire target stack-User-% .PHONY: User-% user-% -User-% user-%: STACK := User User-% user-%: stack-User-%; diff --git a/stack/User/ipfs.mk b/stack/User/ipfs.mk index 748844b..4dc97df 100644 --- a/stack/User/ipfs.mk +++ b/stack/User/ipfs.mk @@ -1,4 +1,7 @@ ENV_VARS += USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN USER_IPFS_SERVICE_5001_TAGS USER_IPFS_SERVICE_8080_TAGS -USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= ["https://ipfs.$(user_domain).$(DOMAIN)"] -USER_IPFS_SERVICE_5001_TAGS ?= $(if $(filter localhost,$(DOMAIN)),urlprefix-ipfs.$(user_domain).$(DOMAIN)/api/) -USER_IPFS_SERVICE_8080_TAGS ?= urlprefix-ipfs.$(user_domain).$(DOMAIN)/ +USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= [$(call patsublist,%,"https://%",$(USER_IPFS_SERVICE_8080_URIS))] +USER_IPFS_SERVICE_URIS ?= $(patsubst %,ipfs.%,$(patsubst %,$(RESU).%,$(DOMAIN))/) +USER_IPFS_SERVICE_5001_TAGS ?= $(filter %.localhost/api,$(call urlprefix,api,$(USER_IPFS_SERVICE_5001_URIS))) +USER_IPFS_SERVICE_5001_URIS ?= $(USER_IPFS_SERVICE_URIS) +USER_IPFS_SERVICE_8080_TAGS ?= $(call urlprefix,,$(USER_IPFS_SERVICE_8080_URIS)) +USER_IPFS_SERVICE_8080_URIS ?= $(USER_IPFS_SERVICE_URIS) diff --git a/stack/cloud/nextcloud.mk b/stack/cloud/nextcloud.mk index ceb2e12..7080dc4 100644 --- a/stack/cloud/nextcloud.mk +++ b/stack/cloud/nextcloud.mk @@ -1,5 +1,6 @@ ENV_VARS += NEXTCLOUD_MYSQL_DATABASE NEXTCLOUD_MYSQL_USER NEXTCLOUD_SERVICE_80_TAGS -NEXTCLOUD_SERVICE_80_TAGS ?= $(patsubst %,urlprefix-%,$(NEXTCLOUD_SERVICE_80_URIS)) -NEXTCLOUD_SERVICE_80_URIS ?= $(patsubst %,nextcloud.%,$(APP_URIS)) +NEXTCLOUD_SERVICE_URIS ?= $(patsubst %,nextcloud.%,$(APP_URIS)) +NEXTCLOUD_SERVICE_80_TAGS ?= $(call urlprefix,,$(NEXTCLOUD_SERVICE_80_URIS)) +NEXTCLOUD_SERVICE_80_URIS ?= $(NEXTCLOUD_SERVICE_URIS) NEXTCLOUD_MYSQL_DATABASE ?= $(COMPOSE_SERVICE_NAME)-nextcloud NEXTCLOUD_MYSQL_USER ?= $(NEXTCLOUD_MYSQL_DATABASE) diff --git a/stack/drone/drone.mk b/stack/drone/drone.mk index 3635f03..8910726 100644 --- a/stack/drone/drone.mk +++ b/stack/drone/drone.mk @@ -1,8 +1,9 @@ drone ?= drone/drone drone/drone-runner-docker drone/gc -DRONE_RUNNER_NAME ?= drone-runner.${APP_HOST} -DRONE_SERVER_HOST ?= drone.${APP_HOST} -DRONE_SERVICE_80_TAGS ?= $(patsubst %,urlprefix-%,$(DRONE_SERVICE_80_URIS)) -DRONE_SERVICE_80_URIS ?= $(patsubst %,drone.%,$(APP_URIS)) +DRONE_RUNNER_NAME ?= drone-runner.$(firstword $(APP_HOST)) +DRONE_SERVER_HOST ?= drone.$(firstword $(APP_HOST)) +DRONE_SERVICE_URIS ?= $(patsubst %,drone.%,$(APP_URIS)) +DRONE_SERVICE_80_TAGS ?= $(call urlprefix,,$(DRONE_SERVICE_80_URIS)) +DRONE_SERVICE_80_URIS ?= $(DRONE_SERVICE_URIS) DRONE_USER_CREATE ?= $(USER):$(GIT_USER),admin:true DRONE_USER_FILTER ?= $(GIT_USER) ENV_VARS += DRONE_RUNNER_NAME DRONE_SERVER_HOST DRONE_USER_CREATE DRONE_USER_FILTER DRONE_SERVICE_80_TAGS diff --git a/stack/elastic/elastic.mk b/stack/elastic/elastic.mk index 843f78b..48963a6 100644 --- a/stack/elastic/elastic.mk +++ b/stack/elastic/elastic.mk @@ -1,10 +1,13 @@ -APM_SERVER_SERVICE_8200_TAGS ?= $(patsubst %,urlprefix-%,$(APM_SERVER_SERVICE_8200_URIS)) -APM_SERVER_SERVICE_8200_URIS ?= $(patsubst %,apm-server.%,$(APP_URIS)) -ELASTICSEARCH_SERVICE_9200_TAGS ?= $(patsubst %,urlprefix-%,$(ELASTICSEARCH_SERVICE_9200_URIS)) -ELASTICSEARCH_SERVICE_9200_URIS ?= $(patsubst %,elasticsearch.%,$(APP_URIS)) +APM_SERVER_SERVICE_URIS ?= $(patsubst %,apm-server.%,$(APP_URIS)) +APM_SERVER_SERVICE_8200_TAGS ?= $(call urlprefix,,$(APM_SERVER_SERVICE_8200_URIS)) +APM_SERVER_SERVICE_8200_URIS ?= $(APM_SERVER_SERVICE_URIS) +ELASTICSEARCH_SERVICE_URIS ?= $(patsubst %,elasticsearch.%,$(APP_URIS)) +ELASTICSEARCH_SERVICE_9200_TAGS ?= $(call urlprefix,,$(ELASTICSEARCH_SERVICE_9200_URIS)) +ELASTICSEARCH_SERVICE_9200_URIS ?= $(ELASTICSEARCH_SERVICE_URIS) ENV_VARS += APM_SERVER_SERVICE_8200_TAGS ELASTICSEARCH_SERVICE_9200_TAGS KIBANA_SERVICE_5601_TAGS -KIBANA_SERVICE_5601_TAGS ?= $(patsubst %,urlprefix-%,$(KIBANA_SERVICE_5601_URIS)) -KIBANA_SERVICE_5601_URIS ?= $(patsubst %,kibana.%,$(APP_URIS)) +KIBANA_SERVICE_URIS ?= $(patsubst %,kibana.%,$(APP_URIS)) +KIBANA_SERVICE_5601_TAGS ?= $(call urlprefix,,$(KIBANA_SERVICE_5601_URIS)) +KIBANA_SERVICE_5601_URIS ?= $(KIBANA_SERVICE_URIS) elastic ?= elastic/curator elastic/elasticsearch elastic/kibana diff --git a/stack/elastic/oss.mk b/stack/elastic/oss.mk index 6cd2e47..0a32d3e 100644 --- a/stack/elastic/oss.mk +++ b/stack/elastic/oss.mk @@ -1,7 +1,9 @@ -APM_SERVER_OSS_SERVICE_8200_TAGS ?= $(patsubst %,urlprefix-%,$(APM_SERVER_OSS_SERVICE_8200_URIS)) -APM_SERVER_OSS_SERVICE_8200_URIS ?= $(patsubst %,apm-server-oss.%,$(APP_URIS)) +APM_SERVER_OSS_SERVICE_URIS ?= $(patsubst %,apm-server-oss.%,$(APP_URIS)) +APM_SERVER_OSS_SERVICE_8200_TAGS ?= $(call urlprefix,,$(APM_SERVER_OSS_SERVICE_8200_URIS)) +APM_SERVER_OSS_SERVICE_8200_URIS ?= $(APM_SERVER_OSS_SERVICE_URIS) ENV_VARS += APM_SERVER_OSS_SERVICE_8200_TAGS KIBANA_OSS_SERVICE_5601_TAGS -KIBANA_OSS_SERVICE_5601_TAGS ?= $(patsubst %,urlprefix-%,$(KIBANA_OSS_SERVICE_5601_URIS)) -KIBANA_OSS_SERVICE_5601_URIS ?= $(patsubst %,kibana-oss.%,$(APP_URIS)) +KIBANA_OSS_SERVICE_URIS ?= $(patsubst %,kibana-oss.%,$(APP_URIS)) +KIBANA_OSS_SERVICE_5601_TAGS ?= $(call urlprefix,,$(KIBANA_OSS_SERVICE_5601_URIS)) +KIBANA_OSS_SERVICE_5601_URIS ?= $(KIBANA_OSS_SERVICE_URIS) elastic-oss ?= elastic/apm-server-oss elastic/curator elastic/elasticsearch elastic/kibana-oss diff --git a/stack/grafana/grafana.mk b/stack/grafana/grafana.mk index 0da7127..53c3008 100644 --- a/stack/grafana/grafana.mk +++ b/stack/grafana/grafana.mk @@ -1,4 +1,4 @@ ENV_VARS += GRAFANA_SERVICE_3000_TAGS -GRAFANA_SERVICE_3000_TAGS ?= $(patsubst %,urlprefix-%,$(GRAFANA_SERVICE_3000_URIS)) -GRAFANA_SERVICE_3000_URIS ?= $(patsubst %,kibana.%,$(APP_URIS)) - +GRAFANA_SERVICE_URIS ?= $(patsubst %,grafana.%,$(APP_URIS)) +GRAFANA_SERVICE_3000_TAGS ?= $(call urlprefix,,$(GRAFANA_SERVICE_3000_URIS)) +GRAFANA_SERVICE_3000_URIS ?= $(GRAFANA_SERVICE_URIS) diff --git a/stack/host/consul.mk b/stack/host/consul.mk index c3e3f1a..636be1c 100644 --- a/stack/host/consul.mk +++ b/stack/host/consul.mk @@ -1,5 +1,7 @@ ENV_VARS += HOST_CONSUL_ACL_TOKENS_MASTER HOST_CONSUL_HTTP_TOKEN HOST_CONSUL_SERVICE_8500_TAGS HOST_CONSUL_ACL_TOKENS_MASTER ?= 01234567-89ab-cdef-0123-456789abcdef HOST_CONSUL_HTTP_TOKEN ?= $(HOST_CONSUL_ACL_TOKENS_MASTER) -HOST_CONSUL_SERVICE_8500_TAGS ?= urlprefix-consul.${DOMAIN}/ +HOST_CONSUL_SERVICE_URIS ?= $(patsubst %,consul.%,$(APP_URIS)) +HOST_CONSUL_SERVICE_8500_TAGS ?= $(call urlprefix,,$(HOST_CONSUL_SERVICE_8500_URIS)) +HOST_CONSUL_SERVICE_8500_URIS ?= $(HOST_CONSUL_SERVICE_URIS) HOST_CONSUL_UFW_UPDATE ?= 8500 diff --git a/stack/host/exporter.mk b/stack/host/exporter.mk index 781f35b..f2c4c33 100644 --- a/stack/host/exporter.mk +++ b/stack/host/exporter.mk @@ -1,3 +1,7 @@ -ENV_VARS += HOST_EXPORTER_CADVISOR_SERVICE_8080_TAGS HOST_EXPORTER_HOST_SERVICE_9100_TAGS -HOST_EXPORTER_CADVISOR_SERVICE_8080_TAGS ?= urlprefix-cadvisor-exporter.${DOMAIN}/ -HOST_EXPORTER_HOST_SERVICE_9100_TAGS ?= urlprefix-node-exporter.${DOMAIN}/ +ENV_VARS += HOST_EXPORTER_CADVISOR_SERVICE_8080_TAGS HOST_EXPORTER_NODE_SERVICE_9100_TAGS +HOST_EXPORTER_CADVISOR_SERVICE_URIS ?= $(patsubst %,cadvisor-exporter.%,$(APP_URIS)) +HOST_EXPORTER_CADVISOR_SERVICE_8080_TAGS ?= $(call urlprefix,,$(HOST_EXPORTER_CADVISOR_SERVICE_8080_URIS)) +HOST_EXPORTER_CADVISOR_SERVICE_8080_URIS ?= $(HOST_EXPORTER_CADVISOR_SERVICE_URIS) +HOST_EXPORTER_NODE_SERVICE_URIS ?= $(patsubst %,node-exporter.%,$(APP_URIS)) +HOST_EXPORTER_NODE_SERVICE_9100_TAGS ?= $(call urlprefix,,$(HOST_EXPORTER_NODE_SERVICE_9100_URIS)) +HOST_EXPORTER_NODE_SERVICE_9100_URIS ?= $(HOST_EXPORTER_NODE_SERVICE_URIS) diff --git a/stack/host/exporter/node.yml b/stack/host/exporter/node.yml index c3c0802..091b3d7 100644 --- a/stack/host/exporter/node.yml +++ b/stack/host/exporter/node.yml @@ -13,7 +13,7 @@ services: labels: - SERVICE_9100_CHECK_TCP=true - SERVICE_9100_NAME=${HOST_COMPOSE_SERVICE_NAME}-exporter-node-9100 - - SERVICE_9100_TAGS=${HOST_EXPORTER_HOST_SERVICE_9100_TAGS} + - SERVICE_9100_TAGS=${HOST_EXPORTER_NODE_SERVICE_9100_TAGS} networks: - public ports: diff --git a/stack/host/fabio.mk b/stack/host/fabio.mk index 0a5345b..f2b7066 100644 --- a/stack/host/fabio.mk +++ b/stack/host/fabio.mk @@ -1,3 +1,5 @@ ENV_VARS += HOST_FABIO_SERVICE_9998_TAGS -HOST_FABIO_SERVICE_9998_TAGS ?= urlprefix-fabio.${DOMAIN}/ +HOST_FABIO_SERVICE_URIS ?= $(patsubst %,fabio.%,$(APP_URIS)) +HOST_FABIO_SERVICE_9998_TAGS ?= $(call urlprefix,,$(HOST_FABIO_SERVICE_9998_URIS)) +HOST_FABIO_SERVICE_9998_URIS ?= $(HOST_FABIO_SERVICE_URIS) HOST_FABIO_UFW_UPDATE ?= 80/tcp 443/tcp diff --git a/stack/host/host.mk b/stack/host/host.mk index 451f48b..6c38857 100644 --- a/stack/host/host.mk +++ b/stack/host/host.mk @@ -92,4 +92,3 @@ host-docker-build-%: .PHONY: host-docker-rebuild-% host-docker-rebuild-%: $(call make,host-docker-build-$* DOCKER_BUILD_CACHE=false) - diff --git a/stack/host/ipfs.mk b/stack/host/ipfs.mk index 7224592..2be3d6b 100644 --- a/stack/host/ipfs.mk +++ b/stack/host/ipfs.mk @@ -1,5 +1,8 @@ ENV_VARS += HOST_IPFS_API_HTTPHEADERS_ACA_ORIGIN HOST_IPFS_SERVICE_5001_TAGS HOST_IPFS_SERVICE_8080_TAGS -HOST_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= ["https://ipfs.$(DOMAIN)"] -HOST_IPFS_SERVICE_5001_TAGS ?= urlprefix-ipfs.$(DOMAIN)/api -HOST_IPFS_SERVICE_8080_TAGS ?= urlprefix-ipfs.$(DOMAIN)/,urlprefix-*.ipfs.$(DOMAIN),urlprefix-ipns.$(DOMAIN)/,urlprefix-*.ipns.$(DOMAIN)/ +HOST_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= [$(call patsublist,%,"https://%",$(HOST_IPFS_SERVICE_8080_URIS))] +HOST_IPFS_SERVICE_URIS ?= $(patsubst %,ipfs.%,$(APP_URIS)) +HOST_IPFS_SERVICE_5001_TAGS ?= $(call urlprefix,api,$(HOST_IPFS_SERVICE_5001_URIS)) +HOST_IPFS_SERVICE_5051_URIS ?= $(HOST_IPFS_SERVICE_URIS) +HOST_IPFS_SERVICE_8080_TAGS ?= $(call urlprefix,,$(HOST_IPFS_SERVICE_8080_URIS)) +HOST_IPFS_SERVICE_8080_URIS ?= $(patsubst %,ipfs.%,$(APP_URIS)) $(patsubst %,*.ipfs.%,$(APP_URIS)) $(patsubst %,ipns.%,$(APP_URIS)) $(patsubst %,*.ipns.%,$(APP_URIS)) HOST_IPFS_UFW_DOCKER ?= 4001/tcp 4001/udp 8080 diff --git a/stack/host/portainer.mk b/stack/host/portainer.mk index 6f12390..3293562 100644 --- a/stack/host/portainer.mk +++ b/stack/host/portainer.mk @@ -1,2 +1,4 @@ ENV_VARS += HOST_PORTAINER_SERVICE_9000_TAGS -HOST_PORTAINER_SERVICE_9000_TAGS ?= urlprefix-portainer.${DOMAIN}/ +HOST_PORTAINER_SERVICE_URIS ?= $(patsubst %,portainer.%,$(APP_URIS)) +HOST_PORTAINER_SERVICE_9000_TAGS ?= $(call urlprefix,,$(HOST_PORTAINER_SERVICE_9000_URIS)) +HOST_PORTAINER_SERVICE_9000_URIS ?= $(HOST_PORTAINER_SERVICE_URIS) diff --git a/stack/ipfs/ipfs.mk b/stack/ipfs/ipfs.mk index 47d0c94..b568c09 100644 --- a/stack/ipfs/ipfs.mk +++ b/stack/ipfs/ipfs.mk @@ -1,9 +1,12 @@ ENV_VARS += IPFS_API_HTTPHEADERS_ACA_ORIGIN IPFS_DAEMON_ARGS IPFS_PROFILE IPFS_SERVICE_5001_TAGS IPFS_SERVICE_8080_TAGS IPFS_VERSION -IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= ["https://ipfs.$(APP_DOMAIN)","http://ipfs.localhost:8080"] +IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= [$(call patsublist,%,"https://%",$(IPFS_SERVICE_8080_URIS))] IPFS_PROFILE ?= $(if $(filter-out amd64 x86_64,$(MACHINE)),lowpower,server) -IPFS_SERVICE_5001_TAGS ?= urlprefix-ipfs.$(APP_DOMAIN)/api +IPFS_SERVICE_URIS ?= $(patsubst %,ipfs.%,$(APP_URIS)) +IPFS_SERVICE_5001_TAGS ?= $(call urlprefix,api,$(IPFS_SERVICE_5001_URIS)) +IPFS_SERVICE_5001_URIS ?= $(IPFS_SERVICE_URIS) IPFS_SERVICE_8080_CHECK_HTTP ?= /ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn -IPFS_SERVICE_8080_TAGS ?= urlprefix-ipfs.$(APP_DOMAIN)/,urlprefix-*.ipfs.$(APP_DOMAIN),urlprefix-ipns.$(APP_DOMAIN)/,urlprefix-*.ipns.$(APP_DOMAIN)/ +IPFS_SERVICE_8080_TAGS ?= $(call urlprefix,,$(IPFS_SERVICE_8080_URIS)) +IPFS_SERVICE_8080_URIS ?= $(patsubst %,ipfs.%,$(APP_URIS)) $(patsubst %,*.ipfs.%,$(APP_URIS)) $(patsubst %,ipns.%,$(APP_URIS)) $(patsubst %,*.ipns.%,$(APP_URIS)) IPFS_UFW_DOCKER ?= 4001/tcp 4001/udp 8080 IPFS_VERSION ?= 0.16.0 diff --git a/stack/nginx/static.mk b/stack/nginx/static.mk index ecb4245..425b215 100644 --- a/stack/nginx/static.mk +++ b/stack/nginx/static.mk @@ -1,4 +1,4 @@ ENV_VARS += STATIC_SERVICE_80_TAGS -STATIC_SERVICE_80_TAGS ?= $(patsubst %,urlprefix-%,$(STATIC_SERVICE_80_URIS)) -STATIC_SERVICE_80_URIS ?= $(patsubst %,static.%,$(APP_URIS)) - +STATIC_SERVICE_URIS ?= $(patsubst %,static.%,$(APP_URIS)) +STATIC_SERVICE_80_TAGS ?= $(call urlprefix,,$(STATIC_SERVICE_80_URIS)) +STATIC_SERVICE_80_URIS ?= $(STATIC_SERVICE_URIS) diff --git a/stack/portainer/portainer.mk b/stack/portainer/portainer.mk index 8c91787..28d3181 100644 --- a/stack/portainer/portainer.mk +++ b/stack/portainer/portainer.mk @@ -1,3 +1,4 @@ ENV_VARS += PORTAINER_SERVICE_9000_TAGS -PORTAINER_SERVICE_9000_TAGS ?= $(patsubst %,urlprefix-%,$(PORTAINER_SERVICE_9000_URIS)) -PORTAINER_SERVICE_9000_URIS ?= $(patsubst %,portainer.%,$(APP_URIS)) +PORTAINER_SERVICE_URIS ?= $(patsubst %,portainer.%,$(APP_URIS)) +PORTAINER_SERVICE_9000_TAGS ?= $(call urlprefix,,$(PORTAINER_SERVICE_9000_URIS)) +PORTAINER_SERVICE_9000_URIS ?= $(PORTAINER_SERVICE_URIS) diff --git a/stack/prometheus/alertmanager.mk b/stack/prometheus/alertmanager.mk index 6dfea16..90d6d92 100644 --- a/stack/prometheus/alertmanager.mk +++ b/stack/prometheus/alertmanager.mk @@ -1,4 +1,4 @@ ENV_VARS += ALERTMANAGER_SLACK_WEBHOOK_ID ALERTMANAGER_SERVICE_9093_TAGS -ALERTMANAGER_SERVICE_9093_TAGS ?= $(patsubst %,urlprefix-%,$(ALERTMANAGER_SERVICE_9093_URIS)) -ALERTMANAGER_SERVICE_9093_URIS ?= $(patsubst %,alertmanager.%,$(APP_URIS)) - +ALERTMANAGER_SERVICE_URIS ?= $(patsubst %,alertmanager.%,$(APP_URIS)) +ALERTMANAGER_SERVICE_9093_TAGS ?= $(call urlprefix,,$(ALERTMANAGER_SERVICE_9093_URIS)) +ALERTMANAGER_SERVICE_9093_URIS ?= $(ALERTMANAGER_SERVICE_URIS) diff --git a/stack/prometheus/blackbox.mk b/stack/prometheus/blackbox.mk index 7368017..1631777 100644 --- a/stack/prometheus/blackbox.mk +++ b/stack/prometheus/blackbox.mk @@ -1,6 +1,6 @@ ENV_VARS += BLACKBOX_SERVICE_9115_TAGS BLACKBOX_PRIMARY_TARGETS ?= $(PROMETHEUS_BLACKBOX_PRIMARY_TARGETS) BLACKBOX_SECONDARY_TARGETS ?= $(PROMETHEUS_BLACKBOX_SECONDARY_TARGETS) -BLACKBOX_SERVICE_9115_TAGS ?= $(patsubst %,urlprefix-%,$(BLACKBOX_SERVICE_9115_URIS)) -BLACKBOX_SERVICE_9115_URIS ?= $(patsubst %,blackbox.%,$(APP_URIS)) - +BLACKBOX_SERVICE_URIS ?= $(patsubst %,blackbox.%,$(APP_URIS)) +BLACKBOX_SERVICE_9115_TAGS ?= $(call urlprefix,,$(BLACKBOX_SERVICE_9115_URIS)) +BLACKBOX_SERVICE_9115_URIS ?= $(BLACKBOX_SERVICE_URIS) diff --git a/stack/prometheus/es-exporter.mk b/stack/prometheus/es-exporter.mk index 8068d7c..d383536 100644 --- a/stack/prometheus/es-exporter.mk +++ b/stack/prometheus/es-exporter.mk @@ -1,3 +1,4 @@ ENV_VARS += ES_EXPORTER_SERVICE_9206_TAGS -ES_EXPORTER_SERVICE_9206_TAGS ?= $(patsubst %,urlprefix-%,$(ES_EXPORTER_SERVICE_9206_URIS)) -ES_EXPORTER_SERVICE_9206_URIS ?= $(patsubst %,es-exporter.%,$(APP_URIS)) +ES_EXPORTER_SERVICE_URIS ?= $(patsubst %,es-exporter.%,$(APP_URIS)) +ES_EXPORTER_SERVICE_9206_TAGS ?= $(call urlprefix,,$(ES_EXPORTER_SERVICE_9206_URIS)) +ES_EXPORTER_SERVICE_9206_URIS ?= $(ES_EXPORTER_SERVICE_URIS) diff --git a/stack/prometheus/prometheus.mk b/stack/prometheus/prometheus.mk index 6d520f0..a7e1f78 100644 --- a/stack/prometheus/prometheus.mk +++ b/stack/prometheus/prometheus.mk @@ -1,5 +1,6 @@ ENV_VARS += PROMETHEUS_BLACKBOX_PRIMARY_TARGETS PROMETHEUS_BLACKBOX_SECONDARY_TARGETS PROMETHEUS_SERVICE_9090_TAGS -PROMETHEUS_BLACKBOX_PRIMARY_TARGETS ?= https://$(DOMAIN) +PROMETHEUS_BLACKBOX_PRIMARY_TARGETS ?= $(patsubst %,https://%,$(DOMAIN)) PROMETHEUS_BLACKBOX_SECONDARY_TARGETS ?= $(patsubst %,https://%,$(APP_URIS)) -PROMETHEUS_SERVICE_9090_TAGS ?= $(patsubst %,urlprefix-%,$(PROMETHEUS_SERVICE_9090_URIS)) -PROMETHEUS_SERVICE_9090_URIS ?= $(patsubst %,alertmanager.%,$(APP_URIS)) +PROMETHEUS_SERVICE_URIS ?= $(patsubst %,alertmanager.%,$(APP_URIS)) +PROMETHEUS_SERVICE_9090_TAGS ?= $(call urlprefix,,$(PROMETHEUS_SERVICE_9090_URIS)) +PROMETHEUS_SERVICE_9090_URIS ?= $(PROMETHEUS_SERVICE_URIS) diff --git a/stack/rabbitmq/rabbitmq.mk b/stack/rabbitmq/rabbitmq.mk index f10ac3b..8699248 100644 --- a/stack/rabbitmq/rabbitmq.mk +++ b/stack/rabbitmq/rabbitmq.mk @@ -1,3 +1,4 @@ ENV_VARS += RABBITMQ_SERVICE_15672_TAGS -RABBITMQ_SERVICE_15672_TAGS ?= $(patsubst %,urlprefix-%,$(RABBITMQ_SERVICE_15672_URIS)) -RABBITMQ_SERVICE_15672_URIS ?= $(patsubst %,rabbitmq.%,$(APP_URIS)) +RABBITMQ_SERVICE_URIS ?= $(patsubst %,rabbitmq.%,$(APP_URIS)) +RABBITMQ_SERVICE_15672_TAGS ?= $(call urlprefix,,$(RABBITMQ_SERVICE_15672_URIS)) +RABBITMQ_SERVICE_15672_URIS ?= $(RABBITMQ_SERVICE_URIS) diff --git a/stack/redmine/redmine.mk b/stack/redmine/redmine.mk index 25c90e6..eeabdc3 100644 --- a/stack/redmine/redmine.mk +++ b/stack/redmine/redmine.mk @@ -1,5 +1,6 @@ ENV_VARS += REDMINE_DB_NAME REDMINE_DB_USER REDMINE_SERVICE_80_TAGS -REDMINE_SERVICE_80_TAGS ?= $(patsubst %,urlprefix-%,$(REDMINE_SERVICE_80_URIS)) -REDMINE_SERVICE_80_URIS ?= $(patsubst %,redmine.%,$(APP_URIS)) +REDMINE_SERVICE_URIS ?= $(patsubst %,redmine.%,$(APP_URIS)) +REDMINE_SERVICE_80_TAGS ?= $(call urlprefix,,$(REDMINE_SERVICE_80_URIS)) +REDMINE_SERVICE_80_URIS ?= $(REDMINE_SERVICE_URIS) REDMINE_DB_NAME ?= $(COMPOSE_SERVICE_NAME)-redmine REDMINE_DB_USER ?= $(REDMINE_DB_NAME) diff --git a/stack/redmine/redmine3.mk b/stack/redmine/redmine3.mk index 02c721c..7bba4da 100644 --- a/stack/redmine/redmine3.mk +++ b/stack/redmine/redmine3.mk @@ -1,6 +1,7 @@ ENV_VARS += REDMINE3_DB_NAME REDMINE3_DB_USER REDMINE3_SERVICE_80_TAGS -REDMINE3_SERVICE_80_TAGS ?= $(patsubst %,urlprefix-%,$(REDMINE3_SERVICE_80_URIS)) -REDMINE3_SERVICE_80_URIS ?= $(patsubst %,redmine3.%,$(APP_URIS)) +REDMINE3_SERVICE_URIS ?= $(patsubst %,redmine3.%,$(APP_URIS)) +REDMINE3_SERVICE_80_TAGS ?= $(call urlprefix,,$(REDMINE3_SERVICE_80_URIS)) +REDMINE3_SERVICE_80_URIS ?= $(REDMINE3_SERVICE_URIS) REDMINE3_DB_NAME ?= $(COMPOSE_SERVICE_NAME)-redmine3 REDMINE3_DB_USER ?= $(REDMINE3_DB_NAME) diff --git a/stack/theia/theia.mk b/stack/theia/theia.mk index 5b15494..21458ae 100644 --- a/stack/theia/theia.mk +++ b/stack/theia/theia.mk @@ -1,3 +1,4 @@ ENV_VARS += THEIA_SERVICE_3000_TAGS -THEIA_SERVICE_3000_TAGS ?= $(patsubst %,urlprefix-%,$(THEIA_SERVICE_3000_URIS)) -THEIA_SERVICE_3000_URIS ?= $(patsubst %,theai.%,$(APP_URIS)) +THEIA_SERVICE_URIS ?= $(patsubst %,theai.%,$(APP_URIS)) +THEIA_SERVICE_3000_TAGS ?= $(call urlprefix,,$(THEIA_SERVICE_3000_URIS)) +THEIA_SERVICE_3000_URIS ?= $(THEIA_SERVICE_URIS)