github/gitignore · Terraform.gitignore

Template .gitignore do Terraform explicado

Explica por que o Terraform.gitignore ignora a pasta .terraform, tfstate, tfvars, os arquivos override e a configuração da CLI, e por que o .terraform.lock.hcl deve ser commitado.

Abrir no gerador Abrir junto com macOS, VisualStudioCode, JetBrains

O Terraform.gitignore se concentra em não deixar vazar o estado e os segredos em repositórios de código de infraestrutura. O arquivo de estado do Terraform guarda em texto puro os atributos dos recursos, que podem incluir senhas de banco de dados ou chaves.

Este template não ignora o .terraform.lock.hcl. A HashiCorp orienta incluir esse arquivo de lock de dependências no controle de versão.

Explicação regra por regra

PadrãoO que ignora e por quê
.terraform/Diretório de trabalho localContém os binários de providers e módulos baixados pelo terraform init e a configuração do backend. São binários específicos de cada sistema operacional, então não podem ser compartilhados, e ainda ocupam muito espaço.
*.tfstate*.tfstate.*.terraform.tfstate.lock.infoArquivos de estadoRegistram a correspondência entre a infraestrutura real e o código. Contêm informações sensíveis em texto puro e, se várias pessoas tiverem cada uma sua cópia, o estado fica dessincronizado. Guarde-os em um backend remoto como S3 ou Terraform Cloud, com lock.
*.tfvars*.tfvars.jsonArquivos de valores de variáveisSão arquivos com valores por ambiente e segredos. Os comentários do template também explicam que é muito provável que contenham senhas ou chaves privadas.
override.tfoverride.tf.json*_override.tf*_override.tf.jsonArquivos overrideSão arquivos que sobrescrevem temporariamente, na máquina local, a configuração de recursos. Para commitá-los, recupere-os no formato !example_override.tf, como nos comentários do template.
crash.logcrash.*.logLogs de falhaSão logs deixados pelo Terraform quando termina de forma anormal e podem incluir conteúdo da configuração.
.terraformrcterraform.rcConfiguração da CLISão arquivos de configuração da CLI que podem conter o token de autenticação do Terraform Cloud.

Cuidados na prática

Template original

Terraform.gitignore14 linhas de regras
# Local .terraform directories.terraform/# .tfstate files*.tfstate*.tfstate.*# Crash log filescrash.logcrash.*.log# Exclude all .tfvars files, which are likely to contain sensitive data, such as# password, private keys, and other secrets. These should not be part of version# control as they are data points which are potentially sensitive and subject# to change depending on the environment.*.tfvars*.tfvars.json# Ignore override files as they are usually used to override resources locally and so# are not checked inoverride.tfoverride.tf.json*_override.tf*_override.tf.json# Ignore transient lock info files created by terraform apply.terraform.tfstate.lock.info# Include override files you do wish to add to version control using negated pattern# !example_override.tf# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan# example: *tfplan*# Ignore CLI configuration files.terraformrcterraform.rc# Optional: ignore graph output files generated by `terraform graph`# *.dot# Optional: ignore plan files saved before destroying Terraform configuration# Uncomment the line below if you want to ignore planout files.# planout

Origem dos templates: github/gitignore/Terraform.gitignore @356fd7b (2026-09-11) · CC0-1.0

Templates usados em conjunto

Outros templates explicados