First Lume Docs firstlume.io PTEN EN Fale com a gente

Exportar e excluir

O state continua seu. Você pode baixá-lo quando quiser, e excluir um stack oferece baixá-lo antes.

Exportar o state

O botão Export state… na página do stack baixa o state atual, em claro, sem travar nada. Pela API, é o GET /api/v1/orgs/{org}/stacks/{id}/state/export.

O quê Arquivo
O stack inteiro um .tar.gz com um <unit>/terraform.tfstate por unit, o formato que a importação lê
Uma unit, com ?unit=<chave> um .tfstate
# O stack inteiro.
curl -H "Authorization: Bearer $ADMIN" -o state.tar.gz "$API/api/v1/orgs/$ORG/stacks/$STACK/state/export"
# Uma unit.
curl -H "Authorization: Bearer $ADMIN" -o net.tfstate "$API/api/v1/orgs/$ORG/stacks/$STACK/state/export?unit=net"

O arquivo tem segredos em texto puro. Os providers guardam senhas, chaves e tokens no state. Cada exportação fica registrada, por unit, com quem fez e quando.

  • É tudo ou nada: se uma unit não puder ser lida, nada é baixado, e a API responde 503.
  • Um stack sem state responde 404.
  • Enquanto existir um papel só, qualquer membro da organização pode exportar.
  • Escolher uma versão antiga vem com a aba State, que está planejada.

Excluir um stack

Excluir um stack não destrói infraestrutura. O diálogo diz o que vai acontecer:

  • Sem state, ou com um state sem recursos. Remove o stack, os runs e as configurações, além desse state vazio.
  • Com um state que ainda gerencia recursos. Diz quantos recursos em quantas units, oferece exportar, sem obrigar, e pede para digitar o nome do stack. O stack e o state então são excluídos juntos.

Essa infraestrutura continua de pé, sem nada no First Lume gerenciando. Para removê-la também, rode um destroy antes.

Os arquivos de state guardados são apagados depois de 30 dias, e nenhuma tela os traz de volta. Um state guardado em outro backend, como o seu próprio s3, fica onde está.

Um run em andamento ou uma unit travada recusam a exclusão com 409, em qualquer caso.

Pela API:

curl -X DELETE -H "Authorization: Bearer $ADMIN" "$API/api/v1/orgs/$ORG/stacks/$STACK" \
  -d '{"delete_state": true, "confirm": "<nome do stack>"}'

Sem esse corpo, um stack cujo state ainda gerencia recursos é recusado com 409.

Excluir só o state

Para manter o stack e remover o state, use DELETE /api/v1/orgs/{org}/stacks/{id}/state com o nome do stack no corpo, como {"confirm": "<nome>"}. O state excluído também fica guardado por 30 dias.