myos/make/apps/myos/ufw.mk

39 lines
1.1 KiB
Makefile
Raw Normal View History

2022-11-18 15:01:16 +01:00
# target ufw: Call ufw ARGS
.PHONY: ufw
2022-11-16 17:34:30 +01:00
ufw:
$(call ufw,$(ARGS))
2022-11-18 15:01:16 +01:00
# target ufw-delete: Fire ufw-update UFW_DELETE=true
.PHONY: ufw-delete
ufw-delete: UFW_DELETE := true
ufw-delete: ufw-update
# target ufw-docker: Call ufw-docker ARGS
.PHONY: ufw-docker
2022-11-16 17:34:30 +01:00
ufw-docker:
$(call ufw-docker,$(ARGS))
2022-11-18 15:01:16 +01:00
# target ufw-docker: Call ufw and ufw-docker foreach service UFW_UPDATE
.PHONY: ufw-update
2022-11-22 23:49:44 +01:00
ufw-update: debug-UFW_UPDATE
$(eval name := $(DOCKER_COMPOSE_PROJECT_NAME))
2022-11-18 15:01:16 +01:00
$(foreach update,$(UFW_UPDATE), \
2022-11-22 23:49:44 +01:00
$(foreach port,$(UFW_DOCKER_$(update)) $(UFW_DOCKER_$(name)-$(update)), \
$(call ufw-docker,$(if $(UFW_DELETE),delete) allow $(name)-$(update) $(port) ||:) \
2022-11-18 15:01:16 +01:00
) \
2022-11-22 23:49:44 +01:00
$(foreach port,$(UFW_UPDATE_$(update)) $(UFW_UPDATE_$(name)-$(update)), \
2022-11-18 15:01:16 +01:00
$(call ufw,$(if $(UFW_DELETE),delete) allow $(port)) \
) \
)
2022-11-22 23:49:44 +01:00
## ex: ufw-node-update will update ufw rules for stack node
2022-11-18 15:01:16 +01:00
.PHONY: stack-%
ufw-%:
$(eval stack := $(subst -$(lastword $(subst -, ,$*)),,$*))
$(eval command := $(lastword $(subst -, ,$*)))
$(if $(findstring -,$*), \
$(if $(filter ufw-$(command),$(MAKE_TARGETS)), \
$(call make,ufw-$(command) STACK="$(stack)") \
) \
)