Firstlume Docs firstlume.io PTEN EN Fale com a gente

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

  1. 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.
  2. Revisão. O Firstlume lista o que vai ser deletado, recriado, atualizado e criado, recurso por recurso, com os atributos que mudam.
  3. 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.
  4. 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.
  5. 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 http do 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.

Para onde ir agora