Skip to content

devops-talks/terraform-git-hook

Repository files navigation

Terraform Git Hooks

pre-commit hooks to keep Terraform configurations in a good share ;)


  • fmt - Rewrites all Terraform configuration files to a canonical format.
  • validate_without_variables - Validates all Terraform configuration files without checking whether all required variables were set.
  • validate_with_variables - Validates all Terraform configuration files and checks whether all required variables were specified.
  • docs - Inserts input and output documentation into README.md.

Notes about hooks

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

  2. 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/devops-talks/terraform-git-hook
  hooks:
    - id: fmt
    - id: docs

Enjoy the clean and documented code!


👬 Contribution

  • Open pull request with improvements
  • Discuss ideas in issues
  • Reach out with any feedback Twitter URL