Added terraform-docs integration (#13)

* Add hook to create readme

* Updated README
This commit is contained in:
Anton Babenko 2018-05-16 20:04:48 +02:00 committed by GitHub
commit 97a668640d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 67 additions and 4 deletions

View file

@ -6,16 +6,24 @@ Several [pre-commit](http://pre-commit.com/) hooks to keep Terraform configurati
* `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`.
Note that `terraform_validate_no_variables` and `terraform_validate_with_variables` will not work if variables are being set dynamically (eg, when using [Terragrunt](https://github.com/gruntwork-io/terragrunt)). Use `terragrunt validate` command instead.
## Notes about hooks
An example `.pre-commit-config.yaml`:
1. `terraform_validate_no_variables` and `terraform_validate_with_variables` will not work if variables are being set dynamically (eg, when using [Terragrunt](https://github.com/gruntwork-io/terragrunt)). Use `terragrunt validate` command instead.
1. `terraform_docs` will insert/update documentation generated by [terraform-docs](https://github.com/segmentio/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`:
```yaml
- repo: git://github.com/antonbabenko/pre-commit-terraform
sha: v1.6.0
rev: v1.7.0
hooks:
- id: terraform_fmt
- id: terraform_docs
```
Enjoy the clean code!
Enjoy the clean and documented code!