Adiciona configuração explícita para usar o mesmo bucket S3 para uploads,
artifacts, LFS, packages, externalDiffs, terraformState, ciSecureFiles e
dependencyProxy. O GitLab organiza internamente por pastas/prefixos.
- Mesclar seções global duplicadas no gitlab-values.yaml
(a segunda sobrescrevia ingress.class: nginx, causando 404)
- Adicionar etapa de DNS antes da instalação no setup.sh
(HTTP-01 challenge requer DNS configurado previamente)
load_config retorna 1 quando .env não existe, causando saída
imediata devido ao set -e. Adiciona || true para continuar
a execução e coletar input do usuário.
Aula 08 - Cluster Kubernetes HA:
- Setup interativo com OpenTofu para Talos na Hetzner
- CCM, CSI Driver, Cluster Autoscaler, Metrics Server
- NGINX Ingress com LoadBalancer (HTTP/HTTPS/SSH)
Aula 09 - n8n na Hetzner:
- Deploy via Helm com PostgreSQL e Redis
- Suporte multi-tenant com add-client.sh
- Integração com Hetzner CSI para volumes persistentes
Aula 10 - GitLab na Hetzner:
- Setup agnóstico: CloudFlare (trusted proxies) ou Let's Encrypt
- Anti-affinity para distribuir webservice/sidekiq em nós diferentes
- Container Registry e SSH via TCP passthrough
- Documentação do erro 422 e solução com trustedCIDRsForXForwardedFor
Melhorias gerais:
- READMEs atualizados com arquitetura e troubleshooting
- Scripts cleanup.sh para todas as aulas
- CLAUDE.md atualizado com contexto do projeto