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_variables
andterraform_validate_with_variables
will not work if variables are being set dynamically (eg, when using Terragrunt). Useterragrunt validate
command instead. -
terraform_docs
will 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-docs
is installed.
.pre-commit-config.yaml
:
- repo: git://github.com/antonbabenko/pre-commit-terraform
rev: v1.7.0
hooks:
- id: terraform_fmt
- id: terraform_docs
Enjoy the clean and documented code!