github/gitignore · Terraform.gitignore

Terraform-.gitignore-Vorlage erklärt

Erklärt, warum Terraform.gitignore den Ordner .terraform, tfstate, tfvars, override-Dateien und die CLI-Konfiguration ignoriert und warum .terraform.lock.hcl committet werden muss.

Im Generator öffnen Zusammen mit macOS, VisualStudioCode, JetBrains öffnen

Terraform.gitignore konzentriert sich darauf, in Repositorys mit Infrastrukturcode das Durchsickern von Zustand und Geheimnissen zu verhindern. Terraform-Zustandsdateien speichern Ressourcenattribute im Klartext und können Datenbankpasswörter oder Schlüssel enthalten.

.terraform.lock.hcl ignoriert diese Vorlage nicht. HashiCorp empfiehlt, diese Abhängigkeits-Lock-Datei unter Versionskontrolle zu stellen.

Regeln im Einzelnen

MusterWas ignoriert wird und warum
.terraform/Lokales ArbeitsverzeichnisEnthält die von terraform init heruntergeladenen Provider-Binärdateien und Module sowie die Backend-Konfiguration. Die Binärdateien sind betriebssystemspezifisch, nicht teilbar und groß.
*.tfstate*.tfstate.*.terraform.tfstate.lock.infoZustandsdateienDateien, die die Zuordnung zwischen realer Infrastruktur und Code festhalten. Sensible Daten stehen darin im Klartext, und wenn mehrere Personen jeweils eigene Kopien haben, driftet der Zustand auseinander. Legen Sie sie in einem entfernten Backend wie S3 oder Terraform Cloud mit Sperre ab.
*.tfvars*.tfvars.jsonVariablenwertdateienDateien mit umgebungsspezifischen Werten und Geheimnissen. Auch die Kommentare der Vorlage weisen darauf hin, dass sie sehr wahrscheinlich Passwörter oder private Schlüssel enthalten.
override.tfoverride.tf.json*_override.tf*_override.tf.jsonoverride-DateienDateien, die Ressourceneinstellungen lokal vorübergehend überschreiben. Um eine davon zu committen, nehmen Sie sie wie in den Kommentaren der Vorlage in der Form !example_override.tf wieder auf.
crash.logcrash.*.logAbsturzprotokolleLogs, die Terraform bei einem abnormalen Ende hinterlässt; sie können Konfigurationsinhalte enthalten.
.terraformrcterraform.rcCLI-KonfigurationCLI-Konfigurationsdateien, die ein Authentifizierungstoken für Terraform Cloud enthalten können.

Hinweise für die Praxis

Originalvorlage

Terraform.gitignore14 Regeln
# 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

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

Häufig kombinierte Vorlagen

Weitere Vorlagenerklärungen