pre-commit git hooks to take care of OpenTofu configurations
  • Shell 86.3%
  • Dockerfile 10.8%
  • Python 2.9%
Find a file
jeremy avnet 2d3782cefa Replace terraform_docs use of GNU sed with perl (#15)
* 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.
2018-05-20 12:10:28 +02:00
.pre-commit-config.yaml Allow to have spaces in directories (#11) 2018-04-21 11:22:47 +02:00
.pre-commit-hooks.yaml Added terraform-docs integration (#13) 2018-05-16 20:04:48 +02:00
hooks.yaml Added terraform-docs integration (#13) 2018-05-16 20:04:48 +02:00
README.md Added terraform-docs integration (#13) 2018-05-16 20:04:48 +02:00
terraform_docs.sh Replace terraform_docs use of GNU sed with perl (#15) 2018-05-20 12:10:28 +02:00
terraform_fmt.sh Allow to have spaces in directories (#11) 2018-04-21 11:22:47 +02:00
terraform_validate_no_variables.sh Allow to have spaces in directories (#11) 2018-04-21 11:22:47 +02:00
terraform_validate_with_variables.sh Allow to have spaces in directories (#11) 2018-04-21 11:22:47 +02:00

pre-commit-terraform hook

Github tag Help Contribute to Open Source

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 into README.md.

Notes about hooks

  1. terraform_validate_no_variables and terraform_validate_with_variables will not work if variables are being set dynamically (eg, when using Terragrunt). Use terragrunt validate command instead.

  2. 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 in README.md. Make sure that terraform-docs is 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!