.DEFAULT_GOAL := all

build: clean
	bee pack

run:
	bee run -gendoc=true -downdoc=true

purge: 
	lsof -t -i:8089 | xargs kill | true

run-dev:
	bee generate routers && bee run -gendoc=true -downdoc=true -runmode=prod
	
dev: purge run-dev

debug:
	bee run -downdebug -gendebug

clean:
	rm -rf oc-workspace.tar.gz

docker:
	DOCKER_BUILDKIT=1 docker build -t oc-workspace -f Dockerfile . --build-arg=HOST=$(HOST)
	docker tag oc-workspace opencloudregistry/oc-workspace:latest

publish-kind:
	kind load docker-image opencloudregistry/oc-workspace:latest --name $(CLUSTER_NAME) | true

publish-registry:
	docker push opencloudregistry/oc-workspace:latest

docker-deploy:
	docker compose up -d

run-docker: docker publish-kind publish-registry docker-deploy

all: docker publish-kind

prepare-multiarch:
	docker buildx create --name multiarch --driver docker-container --use | true
	docker run --privileged --rm tonistiigi/binfmt --install all | true

docker-multiarch:
	DOCKER_BUILDKIT=1 docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t opencloudregistry/oc-workspace:latest --push .

ci: docker publish-registry

.PHONY: build run clean docker publish-kind publish-registry
