# CLAUDE.md Instruções para Claude Code neste repositório. ## Visão Geral Workshop progressivo: Docker → Kubernetes → GitOps na Hetzner Cloud. App de demonstração: `node-bugado` - trava após N requests para demonstrar health checks. ## Estrutura | Aula | Tema | Ambiente | |------|------|----------| | 01 | Docker Compose, restart policies | Local | | 02 | Liveness Probe | Local | | 03 | Replicas + Readiness Probe | Local | | 04 | NGINX Keep Request (Lua) | Local | | 05 | KEDA + Victoria Metrics | Local | | 06 | n8n via Helm | Local | | 07 | Talos Linux (snapshot Hetzner) | Hetzner | | 08 | Cluster HA (OpenTofu + CCM + CSI) | Hetzner | | 09 | n8n multi-tenant | Hetzner | | 10 | GitLab + Registry + SSH | Hetzner | | 11 | ArgoCD + GitLab Runner | Hetzner | ## Comandos Rápidos ```bash # Aulas 01-06 (Local) cd aula-XX && ./setup.sh # ou kubectl apply -f . # Aulas 07-11 (Hetzner) cd aula-08 && ./setup.sh # Cluster base cd aula-09 && ./setup.sh # n8n cd aula-10 && ./setup.sh # GitLab cd aula-11 && ./setup.sh # ArgoCD ``` ## App node-bugado ```javascript // Aceita requests até MAX_REQUESTS (default: 3) // Depois para de responder (simula crash) // /health também para de responder ``` Demonstra: - `restart: always` não é suficiente - Liveness probes detectam apps travadas - Readiness probes evitam tráfego para pods não-prontos ## Variáveis de Ambiente - `MAX_REQUESTS`: Requests antes de travar (default: 3) - `HCLOUD_TOKEN`: Token da Hetzner Cloud (aulas 08-11) ## Padrões do Projeto Cada aula contém: - `README.md` - Documentação completa - `setup.sh` - Instalação automatizada - `cleanup.sh` - Remoção limpa - Manifests YAML ou Helm values Scripts seguem o padrão: 1. Verificar pré-requisitos 2. Coletar configuração interativamente 3. Salvar em `.env` para reutilização 4. Instalar via kubectl/helm 5. Exibir URLs e credenciais