All Projects β†’ trussworks β†’ terraform-module-template

trussworks / terraform-module-template

Licence: Apache-2.0 License
Template repo with Terraform module basics

Programming Languages

shell
77523 projects
go
31211 projects - #10 most used programming language
Makefile
30231 projects
HCL
1544 projects

Projects that are alternatives of or similar to terraform-module-template

terraform-tuesdays
Demo files for various Terraform Tuesday Examples
Stars: ✭ 211 (+1141.18%)
Mutual labels:  terraform-module
terraform-aws-sqs
Terraform module which creates SQS resources on AWS πŸ‡ΊπŸ‡¦
Stars: ✭ 53 (+211.76%)
Mutual labels:  terraform-module
terraform-aws-account
🌳 A sustainable Terraform Package which creates Account & IAM resources on AWS
Stars: ✭ 18 (+5.88%)
Mutual labels:  terraform-module
AutoSpotting
Saves up to 90% of AWS EC2 costs by automating the use of spot instances on existing AutoScaling groups. Installs in minutes using CloudFormation or Terraform. Convenient to deploy at scale using StackSets. Uses tagging to avoid launch configuration changes. Automated spot termination handling. Reliable fallback to on-demand instances.
Stars: ✭ 2,058 (+12005.88%)
Mutual labels:  terraform-module
terraform-aws-elasticache-redis
A Terraform module to create an AWS Redis ElastiCache cluster.
Stars: ✭ 29 (+70.59%)
Mutual labels:  terraform-module
terraform-aws-ecs-web-app
Terraform module that implements a web app on ECS and supports autoscaling, CI/CD, monitoring, ALB integration, and much more.
Stars: ✭ 175 (+929.41%)
Mutual labels:  terraform-module
terraform-aws-ecs-fargate-service
AWS ECS Fargate Service Terraform Module
Stars: ✭ 52 (+205.88%)
Mutual labels:  terraform-module
terraform-aws-ecs-cloudwatch-sns-alarms
Terraform module to create CloudWatch Alarms on ECS Service level metrics.
Stars: ✭ 23 (+35.29%)
Mutual labels:  terraform-module
terraform-vultr-condor
Kubernetes Deployment Tool for Vultr
Stars: ✭ 60 (+252.94%)
Mutual labels:  terraform-module
combinator
Combinator.ml's central repo, documentation and website
Stars: ✭ 24 (+41.18%)
Mutual labels:  terraform-module
terraform-aws-ecs-fargate-task-definition
AWS ECS Fargate Task Definition Terraform Module
Stars: ✭ 20 (+17.65%)
Mutual labels:  terraform-module
terraform-aws-apigateway-v2
Terraform module to create an AWS API Gateway v2 (HTTP/WebSocket) πŸ‡ΊπŸ‡¦
Stars: ✭ 71 (+317.65%)
Mutual labels:  terraform-module
terraform-aws-sns-topic
Terraform Module to Provide an Amazon Simple Notification Service (SNS)
Stars: ✭ 22 (+29.41%)
Mutual labels:  terraform-module
terraform-aws-lambda
A Terraform module to create AWS Lambda ressources.
Stars: ✭ 40 (+135.29%)
Mutual labels:  terraform-module
terraform-aws-zappa
Create a AWS VPC with associated resources for use with Zappa
Stars: ✭ 30 (+76.47%)
Mutual labels:  terraform-module
terraform-aws-config
This module configures AWS Config, a service that enables you to assess, audit, and evaluate the configurations of your AWS resources.
Stars: ✭ 24 (+41.18%)
Mutual labels:  terraform-module
provose
Provose is a new way to manage your Amazon Web Services infrastructure.
Stars: ✭ 27 (+58.82%)
Mutual labels:  terraform-module
terraform-aws-resource-naming
Terraform module to generate resource name with random_id added as suffix.
Stars: ✭ 18 (+5.88%)
Mutual labels:  terraform-module
terraform-github-repository-webhooks
Terraform module to provision webhooks on a set of GitHub repositories
Stars: ✭ 20 (+17.65%)
Mutual labels:  terraform-module
terraform-aws-autoscaling
A terraform module which provisions an auto scaling group along with its launch template
Stars: ✭ 32 (+88.24%)
Mutual labels:  terraform-module

Truss Terraform Module template

This repository is meant to be a template repo we can just spin up new module repos from with our general format.

Creating a new Terraform Module

  1. Clone this repo, renaming appropriately.
  2. Write your terraform code in the root dir.
  3. Create an example of the module in use in the examples dir.
  4. Ensure you've completed the Developer Setup.
  5. In the root dir, run go mod init MODULE_NAME to get a new go.mod file. Then run go mod tidy. This creates a new go.sum file and imports the dependencies and checksums specific to your repository.
  6. Run your tests to ensure they work as expected using instructions below.

Actual readme below - Delete above here

Please put a description of what this module does here

Terraform Versions

This is how we're managing the different versions. Terraform 0.13. Pin module version to ~> 2.0. Submit pull-requests to master branch.

Terraform 0.12. Pin module version to ~> 1.0.1. Submit pull-requests to terraform012 branch.

Terraform 0.11. Pin module version to ~> 1.0. Submit pull-requests to terraform011 branch.

Usage

Put an example usage of the module here

module "example" {
  source = "terraform/registry/path"

  <variables>
}

Requirements

Name Version
terraform >= 0.13
aws ~> 3.0

Providers

No providers.

Modules

No modules.

Resources

No resources.

Inputs

No inputs.

Outputs

No outputs.

Developer Setup

Install dependencies (macOS)

brew install pre-commit go terraform terraform-docs
pre-commit install --install-hooks

Testing

Terratest is being used for automated testing with this module. Tests in the test folder can be run locally by running the following command:

make test

Or with aws-vault:

AWS_VAULT_KEYCHAIN_NAME=<NAME> aws-vault exec <PROFILE> -- make test
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].