Documentação
Estrutura do Repositório
Início Rápido
1. Instale as Ferramentas Necessárias
Terraform2. Crie um Novo Ambiente
Novos ambientes são criados copiandoenv-template-folder e preenchendo os placeholders.
Consulte o Guia de Implantação Terragrunt para o processo completo passo a passo. O fluxo de alto nível é:
Flags de Habilitação/Desabilitação de Serviços
Todos os serviços opcionais são alternados via variáveis de ambiente. Defina-as antes de executarterragrunt apply.
Ordem de Implantação do Supabase Auto-HospedadoOs componentes do Supabase devem ser implantados em sequência:
Referência de Charts Helm
Referência de Módulos
modules/eks
O módulo principal. Provisiona:
- VPC com sub-redes públicas/privadas em 3 AZs
- Cluster EKS (Kubernetes 1.33) e node group gerenciado para Karpenter
- Controlador Karpenter + NodePool + EC2NodeClass
- Funções IAM (cluster, node group, Karpenter, controlador ALB, EBS CSI driver)
- Todas as releases Helm via o mapa de entrada
helm_releases
modules/aws-services
Provisiona ElastiCache Redis e Amazon MQ RabbitMQ. Somente ativo quando ENABLE_AWS_SERVICES=true.
modules/state
Inicializa o bucket de estado S3 para um novo ambiente (versionamento, criptografia, bloqueio de acesso público).
modules/helm
Módulo de release Helm reutilizável suportando tanto repositórios de chart upstream quanto charts locais com chart_path.
Configuração do Ambiente
Placeholders
Cada valor emenv-template-folder que é específico do ambiente usa um placeholder <YOUR_*>. Execute o seguinte para verificar se nada foi esquecido antes de implantar:
Estado Remoto
O estado é armazenado no S3 por ambiente. O bucket é inicializado porstate/terragrunt.hcl e referenciado por root.hcl. O padrão de nomenclatura é ekb-terraform-state-<nome-do-ambiente>.