Terraform Module Template

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

Our great sponsors
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • 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 which creates VPC resources on AWS 🇺🇦

    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.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • 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.

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • 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

    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 an Elastic Kubernetes (EKS) cluster and associated 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