Migrar uma pipeline
Se a sua pipeline guarda o state como um bundle tar.gz num bucket, ela não tem lock, e o bundle é trocado inteiro. Dá para mover o state para o Firstlume primeiro e manter a pipeline rodando como está. Os runs podem migrar depois.
Passos
- Crie o stack no Firstlume apontando para a pasta do ambiente.
- Pare os applies da pipeline. Importe o bundle atual com
dry_run=truee confira as units e oprefix. Depois importe de verdade. - Troque o
root.hclpelo trecho de Backend de state e crie os tokens de state: um de leitura para o plan e um de escrita para o apply. - Na pipeline, exporte
FIRSTLUME_STATE_URLeTF_HTTP_PASSWORDe remova os passos de baixar e subir o bundle. - Confira:
terragrunt run --all -- plan -lock=falsedeve dar "No changes" em todas as units. Guarde o bundle antigo por um tempo, só para leitura.
Por que o bundle sai
- Cada unit grava a própria versão quando o apply dela termina, então uma falha numa unit não deixa as outras fora do state.
- O lock é por unit, então dois applies não passam um por cima do outro.
- Cada gravação vira uma versão cifrada.