Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O comando destroy é inútil nesta situação, não?

No video, o instrutor aplica o terraform destroy, porém como tudo isso é executado em uma nova maquina do actions, ele iniciará um arquivo de estados vazio, mesmo que uma infra já exista, o terraform desta maquina nao deveria ser capaz de destruí-la. torando o comando um erro.

Esta avaliação está correta? caso negativo, em que situação o terraform poderia buscar a infra ja existente, sem um arquivo de estados preenchido? (pelo que vi é possível, mas vc tem que rodar alguma coisa para importar o estado)

1 resposta
solução!

Olá, Paulo. Tudo bem?

Sua avaliação está correta. Quando o Terraform é executado em uma nova máquina, como uma instância de GitHub Actions, ele não tem acesso ao arquivo de estado anterior a menos que esse arquivo de estado seja explicitamente armazenado em um backend remoto acessível, como o S3 da AWS, o Google Cloud Storage, ou outro serviço de armazenamento de estado suportado pelo Terraform.

O comando terraform destroy precisa do arquivo de estado para saber quais recursos precisam ser destruídos. Se o arquivo de estado não estiver presente ou não for o mesmo que foi usado para criar a infraestrutura, o Terraform não saberá quais recursos destruir, tornando o comando destroy ineficaz nesse contexto.

Para que o Terraform possa buscar a infraestrutura já existente sem um arquivo de estado preenchido localmente, você precisaria configurar um backend remoto para o estado do Terraform. Isso permitiria que diferentes execuções do Terraform, em diferentes máquinas, acessem o mesmo arquivo de estado. Outra abordagem seria importar manualmente o estado atual da infraestrutura existente usando o comando terraform import, mas isso pode ser trabalhoso e não é a abordagem mais comum para integração contínua.

Espero ter ajudado e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!