|
|
@@ -2,6 +2,11 @@ export REGISTRO=harbor.reymota.es\/jugaralpadel
|
|
|
export NAMESPACE = jugaralpadel
|
|
|
VERSION_FILE = .version
|
|
|
|
|
|
+# Kubeconfig configuration
|
|
|
+KUBECONFIG_DIR ?= $(CURDIR)/.kube
|
|
|
+KUBECONFIG ?= $(KUBECONFIG_DIR)/config
|
|
|
+export KUBECONFIG
|
|
|
+
|
|
|
# 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
|
|
|
@@ -14,6 +19,28 @@ help:
|
|
|
@echo ""
|
|
|
@grep "^[[:lower:]]" Makefile | grep -v "^\." | grep "##" | awk -F':.*## ' '{printf " \033[1m%-20s\033[0m %s\n", $$1, $$2}'
|
|
|
@echo ""
|
|
|
+ @echo "Kubeconfig actual: $(KUBECONFIG)"
|
|
|
+
|
|
|
+KUBECONFIG_HOME ?= $(HOME)/.kube
|
|
|
+
|
|
|
+kubeconfig-list: ## Lista los kubeconfig disponibles en $HOME/.kube
|
|
|
+ @ls -1 $(KUBECONFIG_HOME)/config* 2>/dev/null | while read f; do \
|
|
|
+ echo " $$f"; \
|
|
|
+ done
|
|
|
+
|
|
|
+kubeconfig-set: ## Copia el kubeconfig al directorio local .kube (uso: make kubeconfig-set KUBECONFIG_SOURCE=config-main)
|
|
|
+ @mkdir -p $(KUBECONFIG_DIR)
|
|
|
+ @if [ -f "$(KUBECONFIG_HOME)/$(KUBECONFIG_SOURCE)" ]; then \
|
|
|
+ cp $(KUBECONFIG_HOME)/$(KUBECONFIG_SOURCE) $(KUBECONFIG_DIR)/config; \
|
|
|
+ echo "Kubeconfig copiado de $(KUBECONFIG_HOME)/$(KUBECONFIG_SOURCE) a $(KUBECONFIG)"; \
|
|
|
+ elif [ -f "$(KUBECONFIG_SOURCE)" ]; then \
|
|
|
+ cp $(KUBECONFIG_SOURCE) $(KUBECONFIG_DIR)/config; \
|
|
|
+ echo "Kubeconfig copiado de $(KUBECONFIG_SOURCE) a $(KUBECONFIG)"; \
|
|
|
+ else \
|
|
|
+ echo "Error: No se encontró el kubeconfig '$(KUBECONFIG_SOURCE)'"; \
|
|
|
+ echo "Usa 'make kubeconfig-list' para ver los disponibles"; \
|
|
|
+ exit 1; \
|
|
|
+ fi
|
|
|
|
|
|
all: imagen clean install ## Crea todo (excepto las claims)
|
|
|
|
|
|
@@ -28,39 +55,39 @@ imagen: ## Crea la imagen
|
|
|
|
|
|
|
|
|
ns: ## Crea el namespace
|
|
|
- -cat namespace.yaml | sed -e "s/<NS>/${NAMESPACE}/" |kubectl create -f -
|
|
|
+ -cat namespace.yaml | sed -e "s/<NS>/${NAMESPACE}/" |kubectl --kubeconfig=$(KUBECONFIG) create -f -
|
|
|
|
|
|
install: ## Instala todo (excepto las claims)
|
|
|
- -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 reg-secret.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) create -f -
|
|
|
+ -cat env-prod-configmap.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) 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 -
|
|
|
+ -cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl --kubeconfig=$(KUBECONFIG) create -f -
|
|
|
+ -cat jugaralpadel-ingress.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) create -f -
|
|
|
|
|
|
clean: ## Borra todo (excepto las claims)
|
|
|
- -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 jugaralpadel-ingress.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) delete -f -
|
|
|
+ -cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl --kubeconfig=$(KUBECONFIG) 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 -
|
|
|
+ -cat env-prod-configmap.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) delete -f -
|
|
|
+ -cat reg-secret.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) delete -f -
|
|
|
|
|
|
service: ## Crea el servicio con NodePort
|
|
|
- -cat jugaralpadel-service.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
|
|
|
+ -cat jugaralpadel-service.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) create -f -
|
|
|
|
|
|
servicelb: ## Crea el servicio con LoadBalancer
|
|
|
- -cat jugaralpadel-service-lb.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
|
|
|
+ -cat jugaralpadel-service-lb.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) create -f -
|
|
|
|
|
|
borraclaims: ## Borra las claims
|
|
|
- -cat pvc-jugaralpadel.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
|
|
|
- -cat pvc-static.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
|
|
|
+ -cat pvc-jugaralpadel.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) delete -f -
|
|
|
+ -cat pvc-static.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) delete -f -
|
|
|
|
|
|
claims: ## Crea las 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 -
|
|
|
+ -cat pvc-jugaralpadel.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) create -f -
|
|
|
+ -cat pvc-static.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl --kubeconfig=$(KUBECONFIG) create -f -
|
|
|
|
|
|
app: ## Despliega la 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 -
|
|
|
+ -cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl --kubeconfig=$(KUBECONFIG) delete -f -
|
|
|
+ -cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl --kubeconfig=$(KUBECONFIG) create -f -
|
|
|
|
|
|
db: ## Crea la base de datos en el cluster
|
|
|
- -kubectl create -f jugaralpadel-db.yaml
|
|
|
+ -kubectl --kubeconfig=$(KUBECONFIG) create -f jugaralpadel-db.yaml
|