https://github.com/rhythmictech/terraform-terraform-template
Terraform module template. Good for any cloud and any provider
https://github.com/rhythmictech/terraform-terraform-template
cloud pre-commit template terraform terraform-module
Last synced: 7 months ago
JSON representation
Terraform module template. Good for any cloud and any provider
- Host: GitHub
- URL: https://github.com/rhythmictech/terraform-terraform-template
- Owner: rhythmictech
- License: mit
- Created: 2020-05-15T13:52:02.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-10-06T17:47:35.000Z (7 months ago)
- Last Synced: 2025-10-06T19:32:31.943Z (7 months ago)
- Topics: cloud, pre-commit, template, terraform, terraform-module
- Language: Shell
- Homepage: https://registry.terraform.io/modules/rhythmictech/template/terraform
- Size: 4.99 MB
- Stars: 14
- Watchers: 1
- Forks: 7
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# terraform-terraform-template
Template repository for terraform modules. Good for any cloud and any provider.
[](https://github.com/rhythmictech/terraform-terraform-template/actions?query=workflow%3Atflint+event%3Apush+branch%3Amaster)
[](https://github.com/rhythmictech/terraform-terraform-template/actions?query=workflow%3Atrivy+event%3Apush+branch%3Amaster)
[](https://github.com/rhythmictech/terraform-terraform-template/actions?query=workflow%3Ayamllint+event%3Apush+branch%3Amaster)
[](https://github.com/rhythmictech/terraform-terraform-template/actions?query=workflow%3Amisspell+event%3Apush+branch%3Amaster)
[](https://github.com/rhythmictech/terraform-terraform-template/actions?query=workflow%3Apre-commit-check+event%3Apush+branch%3Amaster)

## Example
Here's what using the module will look like
```hcl
module "example" {
source = "rhythmictech/terraform-mycloud-mymodule
}
```
## About
A bit about this module
## Requirements
No requirements.
## Providers
No providers.
## Modules
| Name | Source | Version |
|------|--------|---------|
| [tags](#module\_tags) | rhythmictech/tags/terraform | ~> 1.1 |
## Resources
No resources.
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [name](#input\_name) | Moniker to apply to all resources in the module | `string` | n/a | yes |
| [tags](#input\_tags) | User-Defined tags | `map(string)` | `{}` | no |
## Outputs
| Name | Description |
|------|-------------|
| [tags\_module](#output\_tags\_module) | Tags Module in it's entirety |
## Getting Started
This workflow has a few prerequisites which are installed through the `./bin/install-x.sh` scripts and are linked below. The install script will also work on your local machine.
- [pre-commit](https://pre-commit.com)
- [terraform](https://terraform.io)
- [tfenv](https://github.com/tfutils/tfenv)
- [terraform-docs](https://github.com/segmentio/terraform-docs)
- [trivy]([https://github.com/tfsec/tfsec](https://github.com/aquasecurity/trivy))
- [tflint](https://github.com/terraform-linters/tflint)
We use `tfenv` to manage `terraform` versions, so the version is defined in the `versions.tf` and `tfenv` installs the latest compliant version.
`pre-commit` is like a package manager for scripts that integrate with git hooks. We use them to run the rest of the tools before apply.
`terraform-docs` creates the beautiful docs (above), `tfsec` scans for security no-nos, `tflint` scans for best practices.