Several pre-commit hooks to keep Terraform configurations (both *.tf and *.tfvars) in a good shape:
terraform_fmt- Rewrites all Terraform configuration files to a canonical format.terraform_validate_no_variables- Validates all Terraform configuration files without checking whether all required variables were set.terraform_validate_with_variables- Validates all Terraform configuration files and checks whether all required variables were specified.terraform_docs- Inserts input and output documentation intoREADME.md.
-
terraform_validate_no_variablesandterraform_validate_with_variableswill not work if variables are being set dynamically (eg, when using Terragrunt). Useterragrunt validatecommand instead. -
terraform_docswill insert/update documentation generated by terraform-docs between markers -<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->and<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->if they are present inREADME.md. Make sure thatterraform-docsis installed.
.pre-commit-config.yaml:
- repo: git://github.com/antonbabenko/pre-commit-terraform
rev: v1.7.3
hooks:
- id: terraform_fmt
- id: terraform_docsEnjoy the clean and documented code!