include .env


dev: minikube secrets tilt

all: bootstrap secrets helmsman

crds:
	kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.4/cert-manager.crds.yaml

cert-manager:
	kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.4/cert-manager.yaml

secrets:
	./scripts/k8s-secrets.sh

# flux:
# 	flux bootstrap git --url="ssh://git@gitea.futureporn.net:2222/futureporn/fp" --branch=main --path="clusters/production" --private-key-file=/home/cj/.ssh/fp-flux

cluster:
	./scripts/kind-with-local-registry.sh
	./scripts/k8s-namespaces.sh
	./scripts/k8s-secrets.sh
	./scripts/k8s-chisel-operator.sh

argo:
	helmsman --apply -f ./helmsman.argocd.yaml

helmsman:
	helmsman --apply -f ./helmsman.yaml

deploy: 
	./scripts/k8s-namespaces.sh
	./scripts/k8s-secrets.sh
	./scripts/flux-bootstrap.sh

tilt:
	tilt up


define _script
cat <<'EOF' | ctlptl apply -f -
apiVersion: ctlptl.dev/v1alpha1
kind: Cluster
product: minikube
registry: ctlptl-registry
kubernetesVersion: v1.28.3
EOF
endef
export script = $(value _script)
minikube:
	@ eval "$$script"
	minikube addons enable volumesnapshots
	minikube addons enable csi-hostpath-driver
	minikube addons enable metrics-server


kind:
	bash -x ./scripts/kind-with-local-registry.sh

chisel:
	./scripts/k8s-chisel-operator.sh

deps:
	sudo pamac install make entr nvm minikube kubectl docker helm
	curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bash
	curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
	echo "go to https://github.com/txn2/kubefwd/releases/latest to get kubefwd"
	echo "go to https://github.com/tilt-dev/ctlptl/releases/latest to get ctlptl"
	sudo systemctl enable docker
	sudo systemctl start docker
	usermod -aG docker cj
	newgrp docker

# A gitea act runner which runs locally
# https://docs.gitea.com/next/usage/actions/overview
# this doesnt work because of missing docker in docker
# I'm running this using systemd instead
#runner:
#	docker run -d --rm -e GITEA_INSTANCE_URL=https://gitea.futureporn.net -e GITEA_RUNNER_REGISTRATION_TOKEN=${GITEA_RUNNER_REGISTRATION_TOKEN} -v /var/run/docker.sock:/var/run/docker.sock -v $$HOME/.local/share/applications/fp/act-runner-data:/data --privileged --name fp-gitea-act-runner gitea/act_runner