export REGISTRO=harbor.reymota.es\/jugaralpadel
export NAMESPACE = jugaralpadel
VERSION_FILE = .version

# Get current version or default to alpine-1
IMG_VERSION := $(shell cat $(VERSION_FILE) 2>/dev/null || echo "alpine-1")
# Get built version for deployment targets
BUILT_VERSION := $(shell cat .current_version 2>/dev/null || echo "$(IMG_VERSION)")
export IMG_VERSION

# limpia todo
all: imagen clean install

imagen:
	@echo "Building image with version: $(IMG_VERSION)"
	@# Store current version for other targets to use
	@echo "$(IMG_VERSION)" > .current_version
	cd ../; make
	@# Increment version for next build
	@echo "$(IMG_VERSION)" | sed 's/alpine-\([0-9]*\)/alpine-\1/' | awk -F'-' '{print "alpine-" $$2+1}' > $(VERSION_FILE)
	@echo "Next version will be: $$(cat $(VERSION_FILE))"


ns:
	-cat namespace.yaml | sed -e "s/<NS>/${NAMESPACE}/" |kubectl create -f -

install:
	-cat reg-secret.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
	-cat env-prod-configmap.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
	-cat secreto-db.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -

	-cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl create -f -
	-cat jugaralpadel-ingress.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -

clean:
	-cat jugaralpadel-ingress.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
	-cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl delete -f -

	-cat secreto-db.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
	-cat env-prod-configmap.yaml  | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
	-cat reg-secret.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -

service:
	-cat jugaralpadel-service.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -

servicelb:
	-cat jugaralpadel-service-lb.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -

borraclaims:
	-cat pvc-jugaralpadel.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
	-cat pvc-static.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -

claims:
	-cat pvc-jugaralpadel.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
	-cat pvc-static.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -

app:
	-cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl delete -f -
	-cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl create -f -

db:
	-kubectl create -f jugaralpadel-db.yaml
