add app ufw-docker
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
CMDARGS += ssh-run
|
||||
COMPOSE_IGNORE_ORPHANS := true
|
||||
ENV_VARS += COMPOSE_IGNORE_ORPHANS MYOS_TAGS_JSON
|
||||
HOME ?= /home/$(USER)
|
||||
MAKECMDARGS += ssh-run
|
||||
MYOS_TAGS_VARS ?= env user
|
||||
MYOS_TAGS_ARGS ?= $(foreach var,$(filter $(MYOS_TAGS_VARS),$(MAKE_FILE_VARS)),$(if $($(var)),$(var)='$($(var))'))
|
||||
MYOS_TAGS_JSON ?= "{$(foreach var,$(filter $(MYOS_TAGS_VARS),$(MAKE_FILE_VARS)),$(if $($(var)), '$(var)': '$($(var))'$(comma))) }"
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
CMDARGS += ufw ufw-docker
|
||||
UFW_UPDATE ?= $(or $(SERVICE),$(DOCKER_SERVICES))
|
||||
|
||||
ifeq ($(SETUP_UFW),true)
|
||||
|
||||
# function ufw: Exec command ufw with args 1
|
||||
define ufw
|
||||
$(call INFO,ufw,$(1)$(comma))
|
||||
$(call app-bootstrap,ufw-docker)
|
||||
$(eval COMPOSE_PROJECT_NAME := $(HOST_COMPOSE_PROJECT_NAME))
|
||||
$(call app-exec,,$(if $(DOCKER_RUN),,$(SUDO)) ufw $(1))
|
||||
endef
|
||||
|
||||
# function ufw-docker: Exec command ufw-docker with args 1
|
||||
define ufw-docker
|
||||
$(call INFO,ufw-docker,$(1)$(comma))
|
||||
$(call app-bootstrap,ufw-docker)
|
||||
$(eval COMPOSE_PROJECT_NAME := $(HOST_COMPOSE_PROJECT_NAME))
|
||||
$(call app-exec,,$(if $(DOCKER_RUN),,$(SUDO)) ufw-docker $(1))
|
||||
endef
|
||||
|
||||
endif
|
||||
@@ -5,7 +5,7 @@
|
||||
.PHONY: setup-binfmt
|
||||
setup-binfmt:
|
||||
ifeq ($(SETUP_BINFMT),true)
|
||||
$(call docker-run,--install $(SETUP_BINFMT_ARCH),--privileged tonistiigi/binfmt)
|
||||
$(call docker-run,--privileged tonistiigi/binfmt,--install $(SETUP_BINFMT_ARCH))
|
||||
endif
|
||||
|
||||
# target setup-docker-group: Call ansible to add user in docker group if needed
|
||||
@@ -39,13 +39,13 @@ endif
|
||||
|
||||
# target setup-ufw: Install ufw-docker
|
||||
.PHONY: setup-ufw
|
||||
setup-ufw: COMPOSE_PROJECT_NAME := $(HOST_COMPOSE_PROJECT_NAME)
|
||||
setup-ufw: 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
|
||||
setup-ufw:
|
||||
ifeq ($(SETUP_UFW),true)
|
||||
$(call app-install,$(SETUP_UFW_REPOSITORY))
|
||||
$(call app-bootstrap,$(lastword $(subst /, ,$(SETUP_UFW_REPOSITORY))))
|
||||
$(eval COMPOSE_PROJECT_NAME := $(HOST_COMPOSE_PROJECT_NAME))
|
||||
$(call app-build)
|
||||
$(eval DOCKER_RUN_OPTIONS := --rm --cap-add NET_ADMIN -v /etc/ufw:/etc/ufw --network host)
|
||||
$(call app-up)
|
||||
$(call ufw-docker,install)
|
||||
endif
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
# target ufw: Call ufw ARGS
|
||||
.PHONY: ufw
|
||||
ufw:
|
||||
$(call ufw,$(ARGS))
|
||||
|
||||
# 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
|
||||
ufw-docker:
|
||||
$(call ufw-docker,$(ARGS))
|
||||
|
||||
# target ufw-docker: Call ufw and ufw-docker foreach service UFW_UPDATE
|
||||
.PHONY: ufw-update
|
||||
ufw-update: debug-UFW_UPDATE
|
||||
$(eval name := $(DOCKER_COMPOSE_PROJECT_NAME))
|
||||
$(foreach update,$(UFW_UPDATE), \
|
||||
$(foreach port,$(UFW_DOCKER_$(update)) $(UFW_DOCKER_$(name)-$(update)), \
|
||||
$(call ufw-docker,$(if $(UFW_DELETE),delete) allow $(name)-$(update) $(port) ||:) \
|
||||
) \
|
||||
$(foreach port,$(UFW_UPDATE_$(update)) $(UFW_UPDATE_$(name)-$(update)), \
|
||||
$(call ufw,$(if $(UFW_DELETE),delete) allow $(port)) \
|
||||
) \
|
||||
)
|
||||
|
||||
## ex: ufw-host-update will update ufw rules for stack host
|
||||
.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)") \
|
||||
) \
|
||||
)
|
||||
Reference in New Issue
Block a user