Commit Graph

12 Commits

Author SHA1 Message Date
Allyson de Paula
1f6d6965de aula-04: README.md com documentação do Keep Request (Lua) 2025-12-31 21:23:42 -03:00
Allyson de Paula
8e743f6e69 aula-11: ArgoCD + GitLab Runner para GitOps CI/CD
- ArgoCD via Helm com recursos mínimos (~1Gi)
- GitLab Runner com executor Kubernetes
- Exemplo node-bugado com Dockerfile e .gitlab-ci.yml
- Manifests K8s para repositório GitOps
- README.md da aula-03 (liveness + readiness probes)
2025-12-31 21:19:40 -03:00
Allyson de Paula
07b7ee62d3 Workshop completo: aulas 08-10 com Talos, n8n e GitLab na Hetzner
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
2025-12-31 17:57:02 -03:00
Allyson de Paula
50dc74c1d8 aula-06 e aula-08: Hetzner CSI Driver e segurança de rede
aula-06:
- Adicionar instalação do Hetzner CSI Driver no setup.sh
- Input interativo seguro para token da Hetzner Cloud
- Atualizar custom-values.yaml para n8n.kube.quest

aula-08:
- Adicionar regras de firewall para VXLAN e rede privada
- Configurar Flannel para usar interface privada (--iface-can-reach)
- Configurar kubelet.nodeIP.validSubnets para rede privada
- Corrigir segurança: VXLAN restrito a 10.0.0.0/8
2025-12-27 22:56:09 -03:00
Allyson de Paula
6db8ca3189 aula-04: Adicionar setup.sh para NGINX Ingress com Lua snippets
Automatiza a instalação do NGINX Ingress Controller com configuração
necessária para suportar server-snippet com Lua (Keep Request pattern).
2025-12-27 12:23:01 -03:00
Allyson de Paula
aa2bcfce46 aula-07 e aula-08: Cluster Talos HA na Hetzner com Autoscaler
aula-07: Criação de imagem Talos customizada na Hetzner Cloud
- Usa Talos Factory para gerar imagem ARM64/AMD64
- Inclui extensões: qemu-guest-agent, hcloud

aula-08: Provisionamento de cluster Kubernetes Talos via OpenTofu
- 3 Control Planes em HA (CAX11 ARM64)
- 1 Worker Node (CAX11 ARM64)
- Rede privada, Floating IP, Firewall
- Cluster Autoscaler para Hetzner (0-5 workers extras)
- Setup interativo com validação de pré-requisitos
- Custo estimado: ~€18/mês (base)

Também inclui:
- .gitignore para ignorar arquivos sensíveis
- CLAUDE.md com instruções do projeto
2025-12-27 07:12:58 -03:00
Allyson de Paula
7efb774be8 aula-06: Deploy n8n via Helm com Queue Mode 2025-12-26 22:03:12 -03:00
Allyson de Paula
ed60410cb9 aula-05: KEDA + Victoria Metrics para auto-scaling
- Auto-scaling baseado em pods indisponíveis e restarts
- Victoria Metrics para coleta de métricas
- NGINX Ingress com retry automático (5 tentativas)
- Configuração ultra-agressiva: +5 pods/segundo
- Script setup.sh para instalação completa
- Mínimo 5 pods, máximo 30 pods
2025-12-25 17:19:11 -03:00
Allyson de Paula
9e834de48d aula-04: NGINX Ingress com Keep Request (Lua)
Quando todos os pods estão indisponíveis, o Ingress mantém
a requisição por até 99s aguardando o backend voltar,
alcançando zero falhas visíveis ao usuário.
2025-12-25 13:38:46 -03:00
Allyson de Paula
a479bf3696 aula-03: Alta disponibilidade com replicas e readiness probe
Múltiplas réplicas com readiness probe para remover pods
não-saudáveis do Service enquanto liveness probe os reinicia.
2025-12-25 13:37:33 -03:00
Allyson de Paula
b9ab2d281f aula-02: Kubernetes com liveness probe
Deployment com liveness probe para detectar quando a app
trava e reiniciar o container automaticamente.
2025-12-25 13:32:29 -03:00
Allyson de Paula
1ea1a98e60 aula-01: Docker Compose com restart policy
App Node.js que trava após MAX_REQUESTS para demonstrar
como o Docker Compose lida com containers que falham.
2025-12-25 13:31:02 -03:00