export ARQUITECTURA := $(shell lscpu |grep itectur | tr -d ' '| cut -f2 -d':')
export REGISTRY=registry.reymota.es

export IMG_VERSION = 0.70.42
export IMG_NGINX_VERSION = 2.3

# limpia todo
all: imagen clean install

imagen:
	cd ../; make

install:
	-kubectl create -f namespace.yaml
	-kubectl create -f reg-secret.yaml
	-kubectl create -f env-prod-configmap.yaml 
	-kubectl create -f env-prod-db-configmap.yaml 

	#-kubectl create -f pv-local-jugaralpadel.yaml
	#-kubectl create -f pv-postgres.yaml
	-kubectl create -f pvc-jugaralpadel.yaml
	-kubectl create -f pvc-static.yaml
	-kubectl create -f pvc-postgresql.yaml

	-kubectl create -f db-deployment.yaml
	-kubectl create -f db-service.yaml

	-envsubst < jugaralpadel-deployment.yaml |kubectl create -f -
	-envsubst < nginx-deployment.yaml |kubectl create -f -
	-kubectl create -f nginx-service.yaml
	-kubectl create -f jugaralpadel-ingress.yaml


clean:
	-envsubst < nginx-deployment.yaml |kubectl delete -f -
	-kubectl delete -f nginx-service.yaml
	-envsubst < jugaralpadel-deployment.yaml |kubectl delete -f -

	-kubectl delete -f db-deployment.yaml
	-kubectl delete -f db-service.yaml

	-kubectl delete -f env-prod-configmap.yaml 
	-kubectl delete -f env-prod-db-configmap.yaml 

	-kubectl delete -f pvc-jugaralpadel.yaml
	-kubectl delete -f pvc-static.yaml
	-kubectl delete -f pvc-postgresql.yaml
	#-kubectl delete -f pv-local-jugaralpadel.yaml
	#-kubectl delete -f pv-postgres.yaml
	-kubectl delete -f reg-secret.yaml
	-kubectl delete -f namespace.yaml

nginx:
	cd ../nginx; make

verimg:
	docker run -it  ${REGISTRY}/jugaralpadel-${ARQUITECTURA}:${IMG_VERSION} bash

backup:
	kubectl --kubeconfig /home/creylopez/.kube/config -n jugaralpadel exec -ti deployment.apps/db -- /usr/lib/postgresql/15/bin/pg_dump --username=creylopez --dbname=jugaralpadel > jugaralpadel-$(IMG_VERSION).sql
   
fleet:
	-cp namespace.yaml ../Fleet/15-namespace.yaml
	-cp reg-secret.yaml ../Fleet/20-reg-secret.yaml
	-cp env-prod-configmap.yaml  ../Fleet/25-env-prod-configmap.yaml
	-cp env-prod-db-configmap.yaml  ../Fleet/30-env-prod-db-configmap.yaml
	-cp pv-postgres.yaml ../Fleet/35-pv-postgres.yaml
	-cp pv-local-jugaralpadel.yaml ../Fleet/37-pv-local-jugaralpadel.yaml
	-cp pvc-postgresql.yaml ../Fleet/40-pvc-postgresql.yaml
	-cp pvc-jugaralpadel.yaml ../Fleet/45-pvc-jugaralpadel.yaml
	-cp pvc-static.yaml ../Fleet/50-pvc-static.yaml
	-cp db-deployment.yaml ../Fleet/55-db-deployment.yaml
	-cp db-service.yaml ../Fleet/60-db-service.yaml
	-cp nginx-service.yaml ../Fleet/65-nginx-service.yaml
	-envsubst < jugaralpadel-deployment.yaml > ../Fleet/70-jugaralpadel-deployment.yaml
	-envsubst < nginx-deployment.yaml > ../Fleet/75-nginx-deployment.yaml
	-cp jugaralpadel-ingress.yaml ../Fleet/80-jugaralpadel-ingress.yaml
