Files
workshop/aula-10/cleanup.sh
ArgoCD Setup d380cd8585 refactor: migrar GitLab → Gitea (aulas 10, 11, 13)
- Aula 10: Gitea + Registry + Actions + Runner (substituiu GitLab)
  - gitea-values.yaml: PostgreSQL standalone, Valkey standalone, ~800Mi RAM
  - setup.sh/cleanup.sh: namespace gitea, Helm gitea-charts/gitea + actions
  - README.md: documentação completa com de→para (GitLab/Harbor/Tekton vs Gitea)

- Aula 11: ArgoCD (GitOps) — removido GitLab Runner (runner vive na aula-10)
  - setup.sh: só ArgoCD, integração SSH com Gitea
  - node-bugado/.gitea/workflows/ci.yml: pipeline convertida

- Aula 13: Container Factory — atualizado para Gitea
  - setup.sh/cleanup.sh: referências GitLab → Gitea
  - pipelines/postgresql/ci.yml: Gitea Actions workflow
  - README.md: conexão com act_runner explicada

- CLAUDE.md: tabela de aulas atualizada
2026-03-14 01:44:30 -03:00

176 lines
5.3 KiB
Bash
Executable File

#!/bin/bash
# =============================================================================
# Cleanup da Aula 10 - Remove Gitea
# =============================================================================
#
# Este script remove:
# - Gitea (Helm release)
# - PVCs (dados persistentes)
# - Namespace gitea
# - cert-manager (se instalado por esta aula)
# - Arquivo .env
#
# NÃO remove (gerenciados pela aula-08):
# - NGINX Ingress Controller
# - Hetzner CSI Driver
# - LoadBalancer
#
# ATENÇÃO: Todos os dados do Gitea serão perdidos!
#
# =============================================================================
set -e
# Cores para output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
log_success() { echo -e "${GREEN}[OK]${NC} $1"; }
log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
log_error() { echo -e "${RED}[ERRO]${NC} $1"; }
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo ""
echo -e "${CYAN}============================================${NC}"
echo -e "${CYAN} Cleanup - Aula 10 (Gitea)${NC}"
echo -e "${CYAN}============================================${NC}"
echo ""
log_warn "ATENÇÃO: Isso vai remover os recursos da aula 10:"
echo " - Gitea e todos os componentes"
echo " - Volumes persistentes (PostgreSQL, Valkey, Gitea)"
echo " - cert-manager (se instalado)"
echo " - Arquivo .env"
echo ""
echo "Mantido (aula-08):"
echo " - NGINX Ingress Controller"
echo " - Hetzner CSI Driver"
echo " - LoadBalancer"
echo ""
read -p "Continuar? (digite 'sim' para confirmar): " confirm
if [ "$confirm" != "sim" ]; then
log_info "Operação cancelada"
exit 0
fi
echo ""
# =============================================================================
# 1. REMOVER TCP SERVICES DO NGINX
# =============================================================================
log_info "=== Removendo configuração TCP do NGINX ==="
if kubectl get configmap tcp-services -n ingress-nginx &> /dev/null; then
kubectl patch configmap tcp-services \
-n ingress-nginx \
--type json \
-p '[{"op": "remove", "path": "/data/22"}]' 2>/dev/null || true
log_success "Configuração TCP removida"
else
log_info "ConfigMap tcp-services não encontrado"
fi
# =============================================================================
# 2. DESINSTALAR GITEA
# =============================================================================
log_info "=== Removendo Gitea ==="
if helm status gitea -n gitea &> /dev/null; then
log_info "Desinstalando Gitea via Helm..."
helm uninstall gitea -n gitea --wait 2>/dev/null || true
log_success "Gitea removido"
else
log_info "Gitea não está instalado"
fi
# Remover PVCs
if kubectl get pvc -n gitea &> /dev/null 2>&1; then
log_info "Removendo PVCs do namespace gitea..."
kubectl delete pvc --all -n gitea --wait=false 2>/dev/null || true
fi
# Aguardar PVs serem liberados
sleep 5
# Remover namespace
if kubectl get namespace gitea &> /dev/null; then
log_info "Removendo namespace gitea..."
kubectl delete namespace gitea --wait=false 2>/dev/null || true
log_success "Namespace gitea removido"
fi
# =============================================================================
# 3. REMOVER CERT-MANAGER (se instalado)
# =============================================================================
log_info "=== Verificando cert-manager ==="
if helm status cert-manager -n cert-manager &> /dev/null; then
log_info "Removendo cert-manager..."
kubectl delete clusterissuer --all 2>/dev/null || true
helm uninstall cert-manager -n cert-manager --wait 2>/dev/null || true
kubectl delete crd \
certificates.cert-manager.io \
certificaterequests.cert-manager.io \
challenges.acme.cert-manager.io \
clusterissuers.cert-manager.io \
issuers.cert-manager.io \
orders.acme.cert-manager.io \
2>/dev/null || true
kubectl delete namespace cert-manager --wait=false 2>/dev/null || true
log_success "cert-manager removido"
else
log_info "cert-manager não está instalado"
fi
# =============================================================================
# 4. REMOVER ARQUIVO .env
# =============================================================================
log_info "=== Removendo arquivo de configuração ==="
if [ -f "$SCRIPT_DIR/.env" ]; then
rm -f "$SCRIPT_DIR/.env"
log_success "Arquivo .env removido"
else
log_info "Arquivo .env não existe"
fi
# =============================================================================
# RESUMO
# =============================================================================
echo ""
echo -e "${CYAN}============================================${NC}"
echo -e "${GREEN} Cleanup Concluído!${NC}"
echo -e "${CYAN}============================================${NC}"
echo ""
echo "Removido:"
echo " - Gitea e todos os componentes"
echo " - cert-manager (se existia)"
echo " - Arquivo .env"
echo ""
echo "Mantido (aula-08):"
echo " - NGINX Ingress Controller"
echo " - Hetzner CSI Driver"
echo " - LoadBalancer"
echo " - Cluster Kubernetes"
echo ""
log_warn "Volumes Hetzner podem demorar alguns minutos para serem"
log_warn "completamente removidos. Verifique no painel da Hetzner."
echo ""