-include config.env
$(info MODULE_NAME = $(MODULE_NAME))
$(info HARBOR_PATH = $(HARBOR_PATH))
$(info IS_SINK_MODULE = $(IS_SINK_MODULE))
# $(info TAG = $(TAG))

IMAGE_NAME:=$(HARBOR_PATH)/cnic/$(MODULE_NAME)
TAG?=latest

all: build push dist
build:
	docker pull $(HARBOR_PATH)/csst/$(MODULE_NAME):$(TAG)
	docker build --network=host \
		--build-arg MODULE_NAME=$(MODULE_NAME) \
		--build-arg HARBOR_PATH=$(HARBOR_PATH) \
		--build-arg TAG=$(TAG) \
		--build-arg IS_SINK_MODULE=$(IS_SINK_MODULE) \
		-t $(IMAGE_NAME) .
push:
	docker push $(IMAGE_NAME)
dist: 
	ssh sc1 docker pull $(IMAGE_NAME)
	ssh sc2 docker pull $(IMAGE_NAME)
	ssh sc3 docker pull $(IMAGE_NAME)

run:
	docker run -it \
		-e MODULE_NAME=${MODULE_NAME} \
		-e HARBOR_PATH=${HARBOR_PATH} \
		-e TAG=${TAG} \
		-e IS_SINK_MODULE=${IS_SINK_MODULE} \
		--entrypoint bash \
		${IMAGE_NAME}

down:
	docker stop $(IMAGE_NAME)