|
|
@@ -28,18 +28,43 @@ kubeconfig-list: ## Lista los kubeconfig disponibles en $HOME/.kube
|
|
|
echo " $$f"; \
|
|
|
done
|
|
|
|
|
|
-kubeconfig-set: ## Copia el kubeconfig al directorio local .kube (uso: make kubeconfig-set KUBECONFIG_SOURCE=config-main)
|
|
|
+kubeconfig-set: ## Selecciona un kubeconfig de forma interactiva
|
|
|
@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)"; \
|
|
|
+ @if [ -n "$(KUBECONFIG_SOURCE)" ]; then \
|
|
|
+ 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; \
|
|
|
else \
|
|
|
- echo "Error: No se encontró el kubeconfig '$(KUBECONFIG_SOURCE)'"; \
|
|
|
- echo "Usa 'make kubeconfig-list' para ver los disponibles"; \
|
|
|
- exit 1; \
|
|
|
+ bash -c '\
|
|
|
+ configs=($$(ls -1 $(KUBECONFIG_HOME)/config* 2>/dev/null)); \
|
|
|
+ if [ $${#configs[@]} -eq 0 ]; then \
|
|
|
+ echo "No se encontraron kubeconfigs en $(KUBECONFIG_HOME)"; \
|
|
|
+ exit 1; \
|
|
|
+ fi; \
|
|
|
+ echo ""; \
|
|
|
+ echo "Selecciona un kubeconfig:"; \
|
|
|
+ for i in "$${!configs[@]}"; do \
|
|
|
+ echo " $$((i+1))) $${configs[$$i]}"; \
|
|
|
+ done; \
|
|
|
+ echo ""; \
|
|
|
+ read -p "Introduce el número (1-$${#configs[@]}): " num; \
|
|
|
+ if [[ "$$num" =~ ^[0-9]+$$ ]] && [ "$$num" -ge 1 ] && [ "$$num" -le "$${#configs[@]}" ]; then \
|
|
|
+ idx=$$((num-1)); \
|
|
|
+ cp "$${configs[$$idx]}" $(KUBECONFIG_DIR)/config; \
|
|
|
+ echo "Kubeconfig copiado de $${configs[$$idx]} a $(KUBECONFIG)"; \
|
|
|
+ else \
|
|
|
+ echo "Error: Selección inválida"; \
|
|
|
+ exit 1; \
|
|
|
+ fi; \
|
|
|
+ '; \
|
|
|
fi
|
|
|
|
|
|
all: imagen clean install ## Crea todo (excepto las claims)
|