Terraform Module Template

This page summarizes the projects mentioned and recommended in the original post on /r/devops

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • terraform-module-template

    A repo template to create Terraform modules with CICD already configured.

  • A higher-order module is just a module that calls another module to extend that modules functionality. You can see it being used here https://github.com/DontShaveTheYak/terraform-module-template/tree/main/modules/greet_multiple

  • terraform-aws-vpc

    Terraform module to create AWS VPC resources 🇺🇦

  • This is a template to create a module. It has a lot of stuff built in like testing tools. Those are all covered in the README. The module itself is just a simple "Hello World" so it doesn't really use very complicated Terraform logic. It's not a great example for advanced Terraform logic but this is https://github.com/terraform-aws-modules/terraform-aws-vpc/blob/master/main.tf.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • semver

    Semantic Versioning Specification

  • Create git tags using semver when PRs merge to the main branch.

  • pre-commit-terraform

    pre-commit git hooks to take care of Terraform configurations 🇺🇦

  • Local testing with pre-commit-terraform. Formats code with terraform fmt Validates code with terraform validate Automatic README updates with terraform-docs. Static code analysis with TFLint, tfsec and checkov.

  • terraform-docs

    Generate documentation from Terraform modules in various output formats

  • Automatic README updates with terraform-docs.

  • tflint

    A Pluggable Terraform Linter

  • Static code analysis with TFLint, tfsec and checkov.

  • tfsec

    Security scanner for your Terraform code

  • Static code analysis with TFLint, tfsec and checkov.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • checkov

    Prevent cloud misconfigurations and find vulnerabilities during build-time in infrastructure as code, container images and open source packages with Checkov by Bridgecrew.

  • Static code analysis with TFLint, tfsec and checkov.

  • terratest

    Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.

  • Testing with Terratest across all major versions of Terraform.

  • terraform-aws-consul-starter

    Discontinued A Terraform module for creating an OSS Consul cluster as described by the HashiCorp reference architecture.

  • You can see the same structure in the official Consul module provided by Hashicorp as well as in the AWS community modules, like here in the VPC module.

  • terraform-aws-eks

    Terraform module to create AWS Elastic Kubernetes (EKS) resources 🇺🇦

  • You are right for a public module as a git repo, but I rarely use public modules. Most are overally complicated and low on readability. Also the greater complexity leads to more bugs. I am also not a fan of using modules directly from upstream git repository. I don't trust them to not break it or move it. The main exception I have found to not using public modules is https://github.com/terraform-aws-modules/terraform-aws-eks. EKS is inherently so complex that is worth using a very complex module.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts