mirror of
https://github.com/tofuutils/pre-commit-opentofu.git
synced 2025-10-15 17:38:54 +02:00
pre-commit git hooks to take care of OpenTofu configurations
- Shell 86.3%
- Dockerfile 10.8%
- Python 2.9%
* Fix ShellCheck warning 2219 https://github.com/koalaman/shellcheck/wiki/SC2219 * Replace GNU sed commands with perl This replaces the sed commands which required GNU sed be installed with perl versions. This should make this script more universally usable (e.g., on macOS) without installing additional tools. |
||
|---|---|---|
| .pre-commit-config.yaml | ||
| .pre-commit-hooks.yaml | ||
| hooks.yaml | ||
| README.md | ||
| terraform_docs.sh | ||
| terraform_fmt.sh | ||
| terraform_validate_no_variables.sh | ||
| terraform_validate_with_variables.sh | ||
pre-commit-terraform hook
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.
Notes about hooks
-
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.
Example
.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!