Ambientes
Três abordagens, duas más razões para escolher a mais tentadora.
Vários ambientes sem cair em armadilhas
A pergunta chega sempre no mesmo momento: a configuração funciona, está aplicada em algum lugar, e agora é preciso a mesma coisa em outro lugar. Homologação, produção, uma segunda região, um ambiente de demonstração para um cliente. A solução que vem à cabeça é a que sai mais cara a longo prazo: um terraform workspace new production, porque é um único comando e porque a palavra "workspace" sugere exatamente o uso que se quer fazer dela.
É uma armadilha, e muito bem montada. Os workspaces compartilham o mesmo código, a mesma versão de provider, o mesmo backend e, principalmente, são invisíveis no repositório: nada nos arquivos diz em qual ambiente você está trabalhando. A única proteção contra um apply de produção disparado de uma máquina que achava estar em homologação é a sua memória de um comando digitado dez minutos antes. Esta lição compara as três abordagens reais, diz o que quebra em cada uma e dá uma recomendação padrão.
Abordagem 1: os diretórios separados
Cada ambiente é um diretório com seu próprio backend, suas próprias variáveis e seu próprio estado.
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão