Repo | Badges info |
---|---|
This fork | |
Upstream |
Several pre-commit hooks to keep Terraform configurations (both *.tf
and *.tfvars
) in a good shape:
terraform_docs
- Inserts input and output documentation intoREADME.md
.terraform_fmt
- Rewrites all Terraform configuration files to a canonical format.terraform_graph
- Generates resource graph and inserts intoREADME.md
terraform_template
- Ensures that all files in template exist locally and maintained files are currentterraform_tools
- Install and update all tools required by hooks in this repoterraform_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.tflint
- Lint check Terraform files. Configures tflint for terraform version and to ignore all modules (due to tflint not handling registry format)
-
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
:
repos:
- repo: https://github.com/devops-workflow/pre-commit-terraform
rev: v1.13.0
hooks:
- id: terraform_tools
- id: terraform_template
- id: terraform_fmt
- id: terraform_docs
- id: terraform_graph
- id: tflint
Enjoy the clean and documented code!