Terraform Module Template

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

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Truly a developer’s best friend
  • talent.io - Download talent.io’s Tech Salary Report
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • 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.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

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

  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

  • 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