.DEFAULT_GOAL := all

build: clean
	go build .

build-monitord:
	go build -o ../oc-monitord ../oc-monitord

run:
	./oc-schedulerd

clean:
	rm -rf  oc-schedulerd

docker:
	DOCKER_BUILDKIT=1 docker build -t oc-schedulerd --build-arg MONITORD_IMAGE=oc-monitord -f Dockerfile . --build-arg=HOST=$(HOST) --build-arg=KUBERNETES_HOST=$(KUBERNETES_HOST) --build-arg=KUBERNETES_SERVICE_PORT=$(KUBERNETES_SERVICE_PORT) --build-arg=KUBE_CA=$(KUBE_CA) --build-arg=KUBE_CERT=$(KUBE_CERT) --build-arg=KUBE_DATA=$(KUBE_DATA)
	docker tag oc-schedulerd opencloudregistry/oc-schedulerd:latest 

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

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

docker-deploy:
	docker compose up -d

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

all: docker publish-kind

ci: docker publish-registry

dev: build-monitord build run

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