2.5 Por Que Usar tfvars e Variáveis
Nesta etapa, vamos entender por que separar valores em variáveis e em arquivos .tfvars é tão útil em projetos reais.
⚡ Visão rápida: variáveis ajudam tanto na segurança e no versionamento quanto na clareza dos requisitos de entrada do projeto.
2.5.1 Organização é só o começo
Separar a configuração em variables.tf e terraform.tfvars ajuda na organização, mas a principal vantagem não é apenas essa.
Em projetos reais, esse padrão também ajuda a proteger informações, facilitar compartilhamento do código e deixar os requisitos do projeto mais claros.
2.5.2 O problema de valores sensíveis no código
Em muitas situações, os valores colocados em variáveis não são apenas nomes ou regiões.
Frequentemente, variáveis guardam informações como:
- tokens;
- chaves;
- senhas;
- nomes internos;
- identificadores de ambientes;
- valores específicos de cliente, conta ou organização.
Quando esse tipo de informação fica misturado diretamente no código principal do projeto, o risco de exposição aumenta.
2.5.3 Por que o terraform.tfvars ajuda
Ao deixar a declaração da variável em variables.tf e o valor dela em terraform.tfvars, você separa:
- a estrutura do projeto;
- dos valores concretos usados em um ambiente específico.
Isso é muito útil porque, ao compartilhar o projeto em um repositório Git, você pode colocar o arquivo terraform.tfvars no .gitignore.
Assim, o repositório continua contendo a estrutura do projeto, mas evita expor informações sensíveis que não deveriam ser publicadas ou compartilhadas com toda a equipe.
Em outras palavras:
- o código continua versionado;
- os valores sensíveis ficam fora do repositório;
- o projeto se torna mais seguro para compartilhamento.
2.5.4 O papel do .gitignore
Quando um arquivo como terraform.tfvars pode conter informação sensível, uma prática comum é adicioná-lo ao .gitignore.
Isso evita que ele seja enviado para o repositório por engano.
Esse cuidado é especialmente importante quando o projeto é compartilhado com outras pessoas, publicado em GitHub ou usado como base para automação.
2.5.5 Variáveis também definem os requisitos do projeto
Declarar variáveis não serve apenas para receber valores.
Também é uma forma de documentar o que o projeto precisa para funcionar.
Quando alguém lê um variables.tf, essa pessoa consegue entender quais entradas precisam ser fornecidas para que o projeto seja executado corretamente.
Na prática, as variáveis ajudam a responder perguntas como:
- de qual região o projeto precisa;
- quais nomes devem ser informados;
- quais credenciais, identificadores ou parâmetros são obrigatórios;
- quais valores podem mudar de um ambiente para outro.
2.5.6 Pensando como contrato de entrada
Uma boa forma de enxergar variáveis é tratá-las como um contrato de entrada do projeto.
Ou seja: elas deixam claro quais são os requisitos mínimos para que aquele conjunto de arquivos funcione.
Isso melhora:
- a leitura;
- a manutenção;
- a reutilização;
- e a previsibilidade do comportamento do projeto.
2.5.7 Resultado prático
Quando você separa variáveis e valores corretamente:
- o projeto fica mais organizado;
- o compartilhamento em Git fica mais seguro;
- os requisitos do projeto ficam explícitos;
- e a troca de contexto entre ambientes se torna mais simples.
Esse padrão parece pequeno no começo, mas faz muita diferença conforme o projeto cresce.