https://github.com/nvnivs/terraform-module-template
A template to create Terraform module Repositories.
https://github.com/nvnivs/terraform-module-template
devops infrastructure-as-code terraform terraform-module
Last synced: 4 days ago
JSON representation
A template to create Terraform module Repositories.
- Host: GitHub
- URL: https://github.com/nvnivs/terraform-module-template
- Owner: nvnivs
- License: apache-2.0
- Created: 2022-08-19T13:33:30.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2026-06-04T02:12:19.000Z (about 1 month ago)
- Last Synced: 2026-06-04T04:09:00.150Z (about 1 month ago)
- Topics: devops, infrastructure-as-code, terraform, terraform-module
- Language: HCL
- Homepage:
- Size: 239 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# terraform-module-template
[![Latest][version-shield]][release-url]
[![License][license-shield]][license-url]
A template to scaffold Terraform module repositories.
## Template features ✅
This section describes the features provided by this template. It should be replaced with the features provided by the module for repositories generated with the template.
* Commit validation with [pre-commit-hooks] and [pre-commit-terraform]
* Static code analysis with [tflint], configurable with `.tflint.hcl`
* Static code analysis and [tfsec]
* [Devcontainer] with all dependencies pre-configured
* Generates README.md module documentation with [terraform-docs]
* Configures [renovate] for dependency management
* Actions workflows to test PRs and create GitHub Releases using [semantic-release]
* Testing using [terratest]
* [taskfile] to simplify repetitive actions
* Sets terraform version with [tfenv], configurable with `.terraform-version`
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13, < 2.0.0 |
| [null](#requirement\_null) | 3.3.0 |
## Providers
No providers.
## Modules
No modules.
## Resources
No resources.
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [name](#input\_name) | An example of a variable. | `string` | `"value"` | no |
## Outputs
| Name | Description |
|------|-------------|
| [name](#output\_name) | An example of an output. |
[version-shield]: https://img.shields.io/github/v/release/nvnivs/terraform-module-template?style=flat-square
[release-url]: https://github.com/nvnivs/terraform-module-template/releases/latest
[license-shield]: https://img.shields.io/github/license/nvnivs/terraform-module-template.svg?style=flat-square
[license-url]: https://github.com/nvnivs/terraform-module-template/blob/main/LICENSE
[pre-commit-hooks]: https://pre-commit.com/
[pre-commit-terraform]: https://github.com/antonbabenko/pre-commit-terraform
[tflint]: https://github.com/terraform-linters/tflint
[tfsec]: https://github.com/aquasecurity/tfsec
[Devcontainer]: https://code.visualstudio.com/docs/devcontainers/containers
[terraform-docs]: https://github.com/terraform-docs/terraform-docs/
[terratest]: https://terratest.gruntwork.io/
[renovate]: https://github.com/renovatebot/renovate
[semantic-release]: https://github.com/semantic-release/semantic-release
[taskfile]: https://taskfile.dev/
[tfenv]: https://github.com/tfutils/tfenv