An open API service indexing awesome lists of open source software.

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.

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