#!/bin/bash # Script de Reconstrucción de Laboratorio - ZimaOS + k3d + ArgoCD set -e CLUSTER_NAME="lab-cluster" APP_DATA_PATH="/DATA/AppData/k3d-lab" echo "--- 1. Preparando directorios persistentes ---" sudo mkdir -p $APP_DATA_PATH/{gitea,argocd} sudo chmod -R 777 $APP_DATA_PATH/ echo "--- 2. Limpiando clúster previo (si existe) ---" k3d cluster delete $CLUSTER_NAME || true echo "--- 3. Creando clúster con persistencia y puertos definidos ---" k3d cluster create $CLUSTER_NAME \ --api-port 46421 \ -p "90:80@loadbalancer" \ -p "9443:443@loadbalancer" \ -v "$APP_DATA_PATH/gitea:/var/lib/gitea" \ -v "$APP_DATA_PATH/argocd:/var/lib/argocd" \ --agents 2 echo "--- 4. Aplicando persistencia de servicios (Restart Always) ---" sudo docker update --restart=always $(sudo docker ps -a -q -f name=k3d) echo "--- 5. Configurando Kubeconfig ---" sudo chown -R $USER:$USER /DATA/.kube /DATA/.config k3d kubeconfig merge $CLUSTER_NAME --kubeconfig-switch-context echo "--- 6. Instalando ArgoCD ---" kubectl create namespace argocd || true kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml echo "--- 7. Ajustando ArgoCD para Proxy Externo (Insecure Mode) ---" kubectl patch configmap argocd-cmd-params-cm -n argocd --type merge -p '{"data":{"server.insecure":"true"}}' kubectl rollout restart deployment argocd-server -n argocd echo "--- 8. Aplicando Ingress para Traefik ---" cat <