fix: corrigir setup.sh de múltiplas aulas

- aula-08: adicionar key cluster-config no secret do autoscaler
- aula-09,10,11,12,14,15: adicionar pausa DNS antes do helm install
  (Let's Encrypt precisa do DNS configurado para emitir certificado)
- aula-09,10,11: corrigir anotação cert-manager.io/cluster-issuer
  (--set do Helm interpreta pontos como separadores de nested keys)
- aula-10: corrigir load_config com set -e (exit silencioso)
- aula-10: adicionar teste rápido do registry no README
This commit is contained in:
ArgoCD Setup
2026-03-14 04:42:07 -03:00
parent 46ec271788
commit 19d97159ce
8 changed files with 224 additions and 15 deletions

View File

@@ -196,6 +196,36 @@ EOF
fi
fi
# =============================================================================
# PAUSA PARA CONFIGURAÇÃO DE DNS
# =============================================================================
LB_IP=$(kubectl get svc -n ingress-nginx ingress-nginx-controller \
-o jsonpath='{.status.loadBalancer.ingress[0].ip}' 2>/dev/null || echo "<pendente>")
ARGOCD_NAME=$(echo "$ARGOCD_HOST" | cut -d. -f1)
echo ""
echo -e "${CYAN}═══════════════════════════════════════════════════${NC}"
echo -e "${CYAN} Configure o DNS${NC}"
echo -e "${CYAN}═══════════════════════════════════════════════════${NC}"
echo ""
echo "No seu provedor DNS:"
echo ""
echo -e " ${YELLOW}Tipo:${NC} A"
echo -e " ${YELLOW}Nome:${NC} ${ARGOCD_NAME}"
echo -e " ${YELLOW}Valor:${NC} ${GREEN}${LB_IP}${NC}"
echo ""
if [[ "$USE_LETSENCRYPT" == "true" ]]; then
echo -e "${YELLOW}⚠ O Let's Encrypt precisa do DNS configurado para emitir o certificado.${NC}"
else
echo -e "${YELLOW}⚠ Configure o DNS agora antes de continuar.${NC}"
fi
echo ""
echo -n "Pressione ENTER quando o DNS estiver configurado..."
read -r
echo ""
# =============================================================================
# INSTALAR ARGOCD
# =============================================================================
@@ -220,19 +250,31 @@ HELM_ARGS=""
HELM_ARGS="$HELM_ARGS --set global.domain=${ARGOCD_HOST}"
HELM_ARGS="$HELM_ARGS --set server.ingress.hosts[0]=${ARGOCD_HOST}"
# TLS - gerar values overlay para anotações com pontos
TEMP_TLS_VALUES=$(mktemp)
if [[ "$USE_LETSENCRYPT" == "true" ]]; then
HELM_ARGS="$HELM_ARGS --set server.ingress.tls[0].secretName=argocd-server-tls"
HELM_ARGS="$HELM_ARGS --set server.ingress.tls[0].hosts[0]=${ARGOCD_HOST}"
HELM_ARGS="$HELM_ARGS --set 'server.ingress.annotations.cert-manager\.io/cluster-issuer=letsencrypt-prod'"
cat > "$TEMP_TLS_VALUES" <<EOF
server:
ingress:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
EOF
else
echo "{}" > "$TEMP_TLS_VALUES"
fi
log_info "Instalando ArgoCD via Helm..."
eval helm ${HELM_CMD} argocd argo/argo-cd \
--namespace argocd \
-f "${SCRIPT_DIR}/argocd-values.yaml" \
-f "$TEMP_TLS_VALUES" \
${HELM_ARGS} \
--wait --timeout 10m
rm -f "$TEMP_TLS_VALUES"
log_success "ArgoCD instalado"
# =============================================================================