.PHONY: docker-build-platform docker-build-control docker-build-observability docker-build-all
.PHONY: docker-push-platform docker-push-control docker-push-all
.PHONY: compose-up compose-down compose-ps compose-up-observability compose-down-observability
.PHONY: swarm-dev-secrets swarm-deploy-platform swarm-deploy-control swarm-deploy-observability swarm-deploy-all
.PHONY: swarm-rm-platform swarm-rm-control swarm-rm-observability swarm-rm-all

docker-build-platform:
	sh docker/scripts/build_images.sh platform

docker-build-control:
	sh docker/scripts/build_images.sh control

docker-build-observability:
	true

docker-build-all:
	sh docker/scripts/build_images.sh all

docker-push-platform:
	sh docker/scripts/push_images.sh platform

docker-push-control:
	sh docker/scripts/push_images.sh control

docker-push-all:
	sh docker/scripts/push_images.sh all

compose-up:
	docker compose up -d --build

compose-up-observability:
	docker compose -f docker-compose.yml -f observability/docker-compose.yml up -d --build

compose-down:
	docker compose down -v

compose-down-observability:
	docker compose -f docker-compose.yml -f observability/docker-compose.yml down -v

compose-ps:
	docker compose ps

swarm-dev-secrets:
	sh docker/scripts/swarm_dev_secrets.sh

swarm-deploy-platform:
	docker stack deploy -c swarm/stacks/platform.yml cloudlysis

swarm-deploy-control:
	docker stack deploy -c swarm/stacks/control-plane.yml cloudlysis_control

swarm-deploy-observability:
	docker stack deploy -c swarm/stacks/observability.yml cloudlysis_obs

swarm-deploy-all: swarm-dev-secrets swarm-deploy-platform swarm-deploy-control swarm-deploy-observability
	true

swarm-rm-platform:
	docker stack rm cloudlysis

swarm-rm-control:
	docker stack rm cloudlysis_control

swarm-rm-observability:
	docker stack rm cloudlysis_obs

swarm-rm-all: swarm-rm-observability swarm-rm-control swarm-rm-platform
	true
