github/gitignore · Terraform.gitignore

Plantilla .gitignore de Terraform explicada

Explica por qué Terraform.gitignore ignora la carpeta .terraform, tfstate, tfvars, los archivos override y la configuración de la CLI, y por qué .terraform.lock.hcl debe confirmarse.

Abrir en el generador Abrir junto con macOS, VisualStudioCode, JetBrains

Terraform.gitignore se centra en que no se filtren el estado ni los secretos en repositorios de código de infraestructura. El archivo de estado de Terraform guarda en texto plano los atributos de los recursos, que pueden incluir contraseñas de bases de datos o claves.

Esta plantilla no ignora .terraform.lock.hcl. HashiCorp indica incluir este archivo de bloqueo de dependencias en el control de versiones.

Explicación regla por regla

PatrónQué ignora y por qué
.terraform/Directorio de trabajo localContiene los binarios de proveedores y módulos que descarga terraform init, y la configuración del backend. Son binarios específicos de cada sistema operativo, así que no se pueden compartir, y además ocupan mucho.
*.tfstate*.tfstate.*.terraform.tfstate.lock.infoArchivos de estadoRegistran la correspondencia entre la infraestructura real y el código. Contienen información sensible en texto plano y, si varias personas tienen cada una su copia, el estado se desincroniza. Guárdalos en un backend remoto como S3 o Terraform Cloud con bloqueo.
*.tfvars*.tfvars.jsonArchivos de valores de variablesSon archivos con valores por entorno y secretos. Los comentarios de la plantilla también explican que es muy probable que contengan contraseñas o claves privadas.
override.tfoverride.tf.json*_override.tf*_override.tf.jsonArchivos overrideSon archivos que sobrescriben temporalmente en local la configuración de recursos. Para confirmarlos, recupéralos con la forma !example_override.tf, como en los comentarios de la plantilla.
crash.logcrash.*.logRegistros de fallosSon registros que deja Terraform cuando termina de forma anómala y pueden incluir contenido de la configuración.
.terraformrcterraform.rcConfiguración de la CLISon archivos de configuración de la CLI que pueden contener el token de autenticación de Terraform Cloud.

Precauciones en la práctica

Plantilla original

Terraform.gitignore14 líneas de reglas
# 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

Origen de las plantillas: github/gitignore/Terraform.gitignore @356fd7b (2026-09-11) · CC0-1.0

Plantillas que suelen usarse juntas

Otras plantillas explicadas