O que é o Firstlume
O Firstlume é uma plataforma de automação de Infraestrutura como Código para OpenTofu, Terraform e Terragrunt, instalável via Helm em qualquer cluster Kubernetes. Ele roda o seu código em Jobs efêmeros, mostra o que um plan vai mudar recurso por recurso, espera a aprovação, aplica exatamente o que foi planejado e guarda o state.
O que acontece num run
- Plan. Um agent pega o run e cria um Job. O Job faz checkout do commit, escreve os arquivos e as variáveis de que o run precisa e roda o
plan. - Revisão. O Firstlume lista o que vai ser deletado, recriado, atualizado e criado, recurso por recurso, com os atributos que mudam.
- Aprovação. O run espera alguém aprovar. A aprovação vem ligada por padrão, e dá para desligar por organização, pasta ou stack.
- Apply. Um novo Job faz checkout do mesmo commit e aplica o arquivo de plano salvo. Cada recurso da lista mostra o andamento e, se falhar, o erro.
- State. O state de cada unit vira uma nova versão cifrada no Firstlume, com lock por unit.
Mais detalhes em Runs e aprovação.
Principais recursos
- Organizações, pastas e stacks. Variáveis, segredos e regras são definidos uma vez num nível alto e herdados abaixo, com sobrescrita onde for preciso. Veja Organizações, pastas e stacks.
- Revisão por recurso. Recriações são contadas separadas de criações e deleções. Dá para exigir que alguém confirme cada exclusão ou recriação.
- Confirmação por recurso. Com uma configuração opcional, cada exclusão ou recriação precisa ser confirmada, uma a uma, antes da aprovação. Veja Runs e aprovação.
- Drift detection agendado. Uma verificação de drift é um plan que só reporta. Veja Detecção de drift.
- Backend de state próprio. Usa o backend
httpdo Terraform e do OpenTofu, sem plugin. O state é por unit, com lock e versões. Veja Backend de state. - State para pipelines que ainda não rodam aqui. O seu CI pode usar o state do Firstlume com um token antes de os runs migrarem. Veja Tokens "só state".
- Arquivos, variáveis e logins de registry declarados no repositório. Veja .firstlume/config.yaml e Credenciais de registry.
- Segredos do Vault sem um segundo cofre. O próprio pod do run lê o Vault, com uma identidade presa ao stack e à fase. Veja Segredos do Vault.
- Agents em qualquer lugar. O agent só faz requisições de saída, então pode rodar em outro cluster ou na rede do cliente. Veja Arquitetura.
- Login pelo Gitea (OIDC), acesso por grupos e convites para organizações.
O que está planejado
Isto ainda não existe:
- Integração com GitHub e GitLab, e plan em PR, commit status e apply no merge em qualquer Git
- Terragrunt nativo: descoberta de units, grafo de dependências, um run por unit e agents com labels por rede ou zona
- Papéis mais finos, aprovadores por pessoa ou grupo e trilha de auditoria
- Aba State na UI: versões, diferença, rollback e destravar à força
- Export via OpenTelemetry e notificações
- Hooks por fase, tarefas agendadas, políticas (OPA), backup e restore
Veja também Limitações conhecidas.
Duas formas de usar
- Na sua infraestrutura. Instale com Helm no seu próprio cluster. Veja Instalar com Helm.
- Contratado com a gente. Nós instalamos e mantemos rodando. Runners na nossa estrutura estão planejados, para quem escolher; nos demais casos, os runs ficam no seu cluster. Escreva para hello@firstlume.io.