← Back to Awesome

Sections

Terraform

GitHub repository ↗ synced 2026/8/9

Awesome Terraform Awesome

Link Checker
Misspell Check
Not Found Check

A curated list of resources on HashiCorp's Terraform.

Your contributions are welcome!

Terraform enables you to safely and predictably create, change, and improve production infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.

Legend

  • Not compatible with terraform >= 0.12 :ghost:
  • Abandoned :skull:
  • Monetized :heavy_dollar_sign:

Official Resources

Hashicorp Terraform Blog
Introduction to Terraform
Terraform Documentation
Terraform learn

Community

weekly.tf - Terraform Weekly Newsletter

Weekly newsletter covering Terraform news, open-source projects, announcements, and discussions.

Terraform Bug Tracker
Terraform Cheatsheet
Terraform Community Modules
Terraform Discuss
Terraform Provider/Module Registry
Terraform Roadmap
The Ultimate Terraform Cheatsheet for DevOps Engineers
The Claude Agent Skill for Terraform and OpenTofu - testing, modules, CI/CD, and production patterns

Claude Code skill for Terraform and OpenTofu — testing, module design, CI/CD workflows, and production patterns.

awesome-terraform-compliance

Curated list of tools, frameworks, and resources for Terraform compliance and security.

  • Complete Terraform documentation as PDF files (Updated nightly) :skull:
  • Terraform AWS Modules + meta-configurations repository
  • Terraform Twitter Community
  • Terraform PDF Doc :skull:
  • Terragrunt Reference Architecture :skull:
  • Language-specific communities:
    • Telegram (Ukrainian speak community)

Books

Big Little Book On Terraform
Bootstrapping Microservices with Docker, Kubernetes, and Terraform, Second Edition
Deep-Dive Terraform on Azure
Getting Started with Terraform, 2nd ed.
HashiCorp Infrastructure Automation Certification Guide
IaC starting with Terraform (Korean)
Infrastructure as Code
Patterns and Practices for Infrastructure as Code: With examples in Python and Terraform
Terraform Best Practices

[open-source ebook](https://github.com/antonbabenko/terraform-best-practices)

Terraform Cookbook
Terraform for Ops e-book
Terraform in Action
Terraform in Depth
Terraform: Up & Running, 3rd ed.
The Terraform Book

Learning and Studying

Terraform Academy

Interactive Terraform / IaC learning platform with hands-on labs, certification prep (HashiCorp, AWS, GCP, Azure, Docker, Kubernetes, GitOps), AI coaching, and progress tracking. See also the [SRE Pro Tips blog](https://www.terraformacademy.app/protips/?cat=sre-pro-tips) and the mobile/PWA apps below.

compliance.tf docs

Free Terraform implementations of SOC 2, PCI DSS, HIPAA, NIST 800-53, and 35+ other compliance controls — open reference for writing compliant infrastructure code.

Apps

Terraform Academy — iOS

Native iOS app for the Terraform Academy interactive learning platform. Hands-on labs, certification prep (HashiCorp, AWS, GCP, Azure, Docker, Kubernetes, GitOps), AI coaching, and progress sync across devices.

Terraform Academy — Android

Native Android app for the Terraform Academy learning platform with the same labs, cert prep, and AI coaching as the iOS and web versions.

Terraform Academy — PWA / Web App

Installable Progressive Web App version of Terraform Academy. Works offline, installs to home screen on any platform, and syncs progress with the mobile apps.

Mobile, desktop, and PWA apps for learning and working with Terraform on the go.

Tutorials and Blog Posts

Beginner Guides

A Comprehensive Guide to Terraform

Series of blog posts from the author of "Terraform: Up & Running" that guide the reader from beginning with Terraform to using it in the real world.

Using Terraform for Cloud Deployments - Part 1

Provisioning an EC2 instance.

Hello, world: The Fargate/Terraform tutorial I wish I had

Blog post describing setting up an ECS Fargate cluster from scratch

Terraform Security Guide

Blog post describing security best practices when working with Terraform

Building a SaaS API? Don't Forget Your Terraform Provider

Why you should write a terraform provider

  • Complete Terraform Course in French (Free) – A comprehensive and free course in French to master Terraform, from beginner to advanced usage, with hands-on examples and best practices.

Writing Custom Providers

Creating custom terraform providers

Guide for creating custom providers.

Writing a Terraform provider

Guide for creating custom providers.

Writing Custom Providers

Official documentation for creating custom providers.

Terraform Provider Code generation

Guide to generating a terraform provider from an OpenAPI specification (Vendor Supported)

How-To

How To Write OPA for Terraform

How to use Open Policy Agent to evaluate and enforce policy on your Terraform plans

Deploying Discourse with Terraform

Shows how Terraform can create a running instance of Discourse on DigitalOcean in one command.

Deploying Django to AWS ECS with Terraform

Looks at how to use Terraform to spin up the required AWS infrastructure for running a Django app on ECS.

Terraform for a Highly Available VPN between AWS and Azure

Terraform code to deploy a highly available VPN between AWS and Azure.

Terraforming 1Password

How 1Password migrated from CloudFormation to Terraform.

Tutorial: How to Use Terraform to Deploy OpenStack Workloads

Illustrates how easy it is to use the OpenStack Terraform provider to deploy a web server.

Zero Downtime Updates with HashiCorp Terraform

Ensuring zero downtime of your infrastructure.

Google Cloud Platform for 10$ a month using terraform

Shows how to use terraform to create a secure Google Kubernetes Cluster, Google Cloud Run Services and other infrastructure elements for less than [10$](https://nufailtd.github.io/budget-gcp/) a month.

Infracost + Terraform + GitHub Actions = Automate Cloud Cost Management

How to use Infracost as the guardrail to manage cloud cost during Terraform development.

How To Wrap Your Terraform Provider for Pulumi

Making your terraform provider pulumi-ready

How to Build an AWS Account Vending Machine

Automated, self-service AWS account lifecycle management using Terraform stacks orchestrated by StackGuardian, with SSM-based allocation, EventBridge cleanup triggers, and Tirith policy enforcement.

  • Easily Deploy A Seneca Microservice to ECS with Wercker and Terraform: Part I, II & III - Illustrates how Terraform can be incorporated into a microservice deployment pipeline.

Multi-Environment Configuration

Terraform Design Patterns: the Terrafile

Managing Terraform modules and their versions within Terraform projects with Terrafile.

Terraform, VPC, and why you want a tfstate file per env

Some gotchas surrounding using Terraform in large projects with multiple environments and how to avoid them.

Using Pipelines to Manage Environments with Infrastructure as Code

Explains different approaches for building a pipeline to handle infrastructure changes moving from one environment to the next.

Azure

Learning HashiCorp Terraform

Guide for Azure.

New Terraform Azure Automation Resources

Azure Automation.

Terraforming Azure PaaS

Deploy PaaS Resources on Azure.

AWS

AWS Lambda the Terraform Way

Understand AWS Lambda in-depth, beyond executing functions, using Terraform. Also includes guides for integration with S3, API Gateway, DynamoDB, Kinesis, SQS.

Managing AWS Lambda Functions with Terraform

What is AWS Lambda used for and how to use Terraform to manage AWS Lambda functions?

Google Cloud

Managing infrastructure as code with Terraform, Cloud Build, and GitOps

Setup and manage infrastructure as code with Terraform, Cloud Build, and GitOps.

Getting started with Terraform on Google Cloud

Using Terraform to create a VM in Google Cloud and Starting a basic Python Flask server.

Managing Cloud Infrastructure with Terraform

Deploy Kubernetes Load Balancer Service with Terraform, HTTPS Content-Based Load Balancer with Terraform, Modular Load Balancing with Terraform - Regional Load Balancer, Custom Providers with Terraform, Cloud SQL with Terraform, Building a VPN Between Google Cloud and AWS with Terraform.

Hashicorp Terraform Tutorials for Google Cloud

Get started with Terraform on Google Cloud.

IAC - Terraform and Terragrunt on Google Cloud

Open source MIT Licensed course about creating infrastructure on Google Cloud using Terraform/OpenTofu and Terragrunt

Self-host n8n on Google Cloud Run

Terraform configuration and guide for deploying n8n workflow automation on Cloud Run with Cloud SQL, Secret Manager, and optional Queue Mode via Redis.

Miscellaneous

Sharing data between Terraform configurations

Illustrates how to use remote state to share data between Terraform configurations.

The Segment AWS Stack

Shows the behind the scenes of the infrastructure powered by Terraform that solved [The Million Dollar Engineering Problem](https://segment.com/blog/the-million-dollar-eng-problem/) at [Segment](https://segment.com/).

Top 3 Terraform Testing Strategies for Ultra-Reliable Infrastructure-as-Code
Two Weeks with Terraform

Some hard-earned experience from using Terraform in the wild, and some operational wisdom.

Terraform: Beyond the Basics with AWS

Explanation of a demo using Terraform to provision a sample AWS architecture.

Terraform cost estimation

Anonymized, free cost estimation from a Terraform plan (0.12+) or state file. Also available in the browser at [terraform-cost-estimation.com](https://terraform-cost-estimation.com).

How to Debug Terraform Projects: Tutorial

Community Modules

nis2shield/infrastructure

Terraform modules for automated NIS2 compliance and secure infrastructure deployment.

rancher-terraform-digitalocean

Rancher server on digitalocean.

segmentio/stack

Configures production infrastructure with AWS, Docker, and ECS. :skull:

terraform-aws-account-lookup

This Terraform module allows querying AWS accounts and outputs the accounts in various mappings or as a complete list, with the ability to apply a search filter to the account list and group the accounts by existing tags using a submodule.

terraform-aws-alb

Creates Application load-balancer on AWS (verified module).

terraform-aws-appconfig

Creates AWS AppConfig resources on AWS.

terraform-aws-atlantis

Creates Terraform configurations for running [Atlantis](https://runatlantis.io) on AWS Fargate. Github, Gitlab, and BitBucket are supported.

terraform-aws-autoscaling

Creates Auto-Scaling Groups and Launch Configurations (verified module).

terraform-aws-customer-gateway

Creates Customer Gateway on AWS.

terraform-aws-datadog-forwarders

Creates resources on AWS to forward logs/metrics to Datadog.

terraform-aws-dms

Creates AWS DMS (Database Migration Service) resources on AWS.

terraform-aws-dynamodb-table

Creates DynamoDB table on AWS.

terraform-aws-ec2-instance

Creates EC2 instances on AWS.

terraform-aws-ecr

Manages Docker container registries on AWS ECR.

terraform-aws-ecs

Creates AWS ECS resources on AWS.

terraform-aws-efs

Defines an EFS Filesystem.

terraform-aws-eks

Creates Elastic Kubernetes Service on AWS (very popular module).

terraform-aws-elb

Creates Elastic load-balancer on AWS (verified module).

terraform-aws-eventbridge

Creates EventBridge resources on AWS.

terraform-aws-jenkins-ha-agents

EC2 Based Jenkins deployment with HA (spot) agents. Runs on EFS for immutability. Fully customizable, with sensible defaults.

terraform-aws-jenkins

Build a Docker image with Jenkins, saves it to an ECR repo, and deploys it to Elastic Beanstalk running a Docker stack. :skull:

terraform-aws-key-pair

Automatically Generate SSH Key Pairs (Public/Private Keys).

terraform-aws-lambda-auto-package

A terraform module to define a lambda function which source files are automatically built and packaged for lambda deployment.

terraform-aws-lambda

Terraform module, which builds dependencies and packages, and also creates AWS Lambda resources in countless combinations.

terraform-aws-managed-service-prometheus

Creates AWS Managed Service for Prometheus (AMP) resources on AWS.

terraform-aws-modules

Collection of Terraform AWS modules supported by the community (includes official AWS modules).

terraform-aws-msk-kafka-cluster

Creates AWS MSK (Managed Streaming for Kafka) resources on AWS.

terraform-aws-notify-slack

Creates SNS topic and Lambda function, which sends notifications to Slack.

terraform-aws-postgresql-rds

Creates PostgreSQL on RDS.

terraform-aws-rds-aurora

Creates RDS Aurora cluster resources on AWS (verified module).

terraform-aws-rds-proxy

Creates AWS RDS Proxy resources on AWS.

terraform-aws-rds

Creates RDS resources on AWS (verified module).

terraform-aws-redshift

Creates Redshift resources on AWS.

terraform-aws-route53

Creates Route53 resources on AWS.

terraform-aws-s3-bucket

Creates S3 bucket resources on AWS.

terraform-aws-secure-baseline

Set up your AWS account with the secure baseline configuration based on CIS Amazon Web Services Foundations.

terraform-aws-security-group

Creates EC2-VPC security groups on AWS (verified module).

terraform-aws-ssh-bastion-service

Terraform plan to deploy ssh bastion as a stateless service on AWS.

terraform-aws-transit-gateway

Creates Transit Gateway resources on AWS.

terraform-aws-vpc

Creates VPC resources on AWS (verified and very popular module).

terraform-aws-vpn-gateway

Creates VPN gateway resources on AWS.

Azure Verified Modules

Official Microsoft-owned collection of verified Terraform modules for Azure, codifying WAF best practices for consistent infrastructure deployment.

terraform-azurerm-aks

Create AKS resources on Azure.

terraform-azurerm-iis

Install IIS Server on Azure VM instance.

terraform-azurerm-mysql

Create MySql Database on Azure.

terraform-azurerm-redis

Create Redis on Azure.

terraform-azurerm-sqlserver

Create SQl Server Database on Azure.

terraform-cloudflare-maintenance

Module to create a Maintenance Page using Cloudflare Workers.

terraform-digitalocean-droplet

Terraform module for managing DigitalOcean Droplets and related resources.

terraform-ecs-jenkins

Provisions Jenkins on AWS ECS using Terraform.

terraform-gce-atlantis

Creates Terraform configurations for running [Atlantis](https://runatlantis.io) on Google Compute Engine.

terraform-google-project-factory

Opinionated Google Cloud Platform project creation and configuration with Shared VPC, IAM, APIs, etc.

terraform-kubestack

Kubestack is a framework for Kubernetes platform engineering teams to define the entire cloud native stack in one Terraform code base and continuously evolve the platform safely through GitOps.

terraform-linode-k8s

Installs Kubernetes on Linode Instances.

terraform-nixos

A set of Terraform modules that are designed to deploy NixOS.

terraform-static-website-s3-cloudfront

Creates static websites on AWS S3 & Cloudfront based on variables.

tf_aws_bastion_s3_keys

Creates bastion hosts on AWS EC2.

typhoon

Minimal and free Kubernetes distribution with Terraform.

For more Community Modules not listed here please see the Terraform Module Registry.

Self-Hosted Registries

anthology

Private Terraform registry implementation as an alternative to the official registry.

boring-registry

Private Terraform Module/Provider Registry with API key authentication and blob storage support

citizen

Private Terraform Module/Provider Registry

nrkno/terraform-registry

A private Terraform registry with modular store backends.

petra

Private Terraform Registry Manager

philips-labs/terraform-registry

Terraform registry to serve arbitrary Terraform provider releases hosted on Github

tapir

Private Terraform Registry.

terraform-simple-registry

Simple implementation of the Terraform registry protocols.

terramantle.dev

A registry that focuses on module & state insights, tackling dependency management

Terrareg

Terraform module registry.

terustry

Open Source terraform provider registry acting as a proxy for gitlab or github releases.

terralist

Terraform Private Registry for modules and providers manageable from a REST API.

Managed Registries

Azure Verified Modules

Official Microsoft initiative providing verified, standards-compliant Terraform (and Bicep) modules for Azure resources and architectural patterns, aligned with the Well-Architected Framework.

cloudsmith

Managed package hoster for internal and external clients. :heavy_dollar_sign:

Terramantle

A private Terraform/OpenTofu registry with deep module insights, dependency mapping, and state visibility.

Providers

Hashicorp supported providers

terraform-provider-aws

Provider for Amazon Web Services.

terraform-provider-azurerm

Provider for Azure.

terraform-provider-docker

Provider for Docker. :skull:

terraform-provider-google

Provider for Google Cloud Platform.

terraform-provider-helm

Provider for Helm.

terraform-provider-kubernetes

Provider for Kubernetes.

terraform-provider-vsphere

Provider for VMware vSphere.

Vendor supported providers

terraform-provider-alicloud

Provider for Alibaba Cloud.

terraform-provider-artifactory

Provider for [JFrog Artifactory](https://jfrog.com/artifactory/).

terraform-provider-atlas

Provider for [Atlas](https://atlasgo.io/).

terraform-provider-azapi

Provider for Azure Resource Manager Rest API

terraform-provider-azuredevops

Provider for Azure DevOps (VSTS).

terraform-provider-buildkite

Provider for Buildkite.

terraform-provider-checkly

Manage [Checkly](https://www.checklyhq.com) resources for API & E2E monitoring.

terraform-provider-coder

Provider for [Coder](https://coder.com)

terraform-provider-confluent

Provider for Confluent.

terraform-provider-datadog

Provider for Datadog.

terraform-provider-devhelm

Provider for [DevHelm](https://devhelm.io) uptime monitoring — manage monitors, alert channels, and status pages as code.

terraform-provider-digitalocean

Provider for DigitalOcean.

terraform-provider-dominos

Provider for Dominos Pizza.

terraform-provider-elasticstack

Provider for Elasticsearch and Kibana.

terraform-provider-env0

Provider for [env0](https://www.env0.com/)

terraform-provider-github

Provider for GitHub.

terraform-provider-gitlab

Provider for GitLab.

terraform-provider-graphql

Provider for GraphQL queries and mutations.

terraform-provider-hcloud

Provider for Hetzner Cloud.

terraform-provider-healthchecksio

Provider to manage healthchecks.io resources.

terraform-provider-heroku

Provider for Heroku.

terraform-provider-ibm

Provider for IBM Cloud.

terraform-provider-iterative

Terraform plugin built with machine learning in mind.

terraform-provider-k8s

Simple Kubernetes Provider, works with any manifest.

terraform-provider-keycloak

Provider to manage the settings of your [Keycloak](https://www.keycloak.org/) identity provider server.

terraform-provider-linode

Provider for Linode.

terraform-provider-openstack

Plugin for OpenStack.

terraform-provider-panos

Provider for [Palo Alto Networks next-generation firewalls](https://www.paloaltonetworks.com/network-security).

terraform-provider-phare

Terraform provider for [Phare](https://phare.io).

terraform-provider-planetscale

Terraform provider for [PlanetScale](https://planetscale.com) (Vitess & Postgres).

terraform-provider-qovery

Provider for [Qovery](https://www.qovery.com/) — manage Kubernetes deployments, environments, applications, databases, Helm charts, and Terraform services on AWS, GCP, Azure, and Scaleway.

terraform-provider-pingdom

Provider to manage Pingdom resources. :skull:

terraform-provider-rancher2

Provider for Rancher v2.

terraform-provider-scalr

Provider for [Scalr](https://www.scalr.com/)

terraform-provider-secrethub

Provider for SecretHub. :skull:

terraform-provider-sigsci

Provider for Signal Sciences.

terraform-provider-snowflake

Provider for Snowflake data warehouse.

terraform-provider-spinnaker

Provider for [Spinnaker](https://spinnaker.io/).

terraform-provider-spotinst

Provider for spotinst.

terraform-provider-stripe

Provider for Stripe.

terraform-provider-ucloud

Provider to manage UCloud resources.

terraform-provider-uptimerobot

Provider to manage uptimerobot resources. :skull:

terraform-provider-vaulted

Encrypted HashiCorp Vault secrets via Terraform that can be stored in SCM such as Git.

terraform-provider-scp

Provider for Splunk Cloud Platform.

Community providers

terraform-provider-docker

Terraform Docker provider.

terraform-provider-minio

Terraform provider for managing MinIO S3 buckets and IAM Users.

terraform-provider-proxmox

Terraform Proxmox provider.

terraform-provider-terracurl

Provider to make managed and unmanaged API calls to your target endpoint.

terraform-provider-uname

Uname Provider for Terraform.

terraform-provider-value

Value Provider for Terraform.

terraform-provider-multipass

Terraform provider for Multipass.

terraform-provider-openrouter

Manage OpenRouter as code: workspaces, guardrails, spend-limited API keys, and org members. Terraform + OpenTofu.

terraform-provider-plancost

Terraform provider for Azure cost estimation and cost guardrails.

terraform-provider-coolify

Terraform provider for Coolify.

Testing

clarity

A declarative test framework for Terraform for unit testing. :skull:

kitchen-terraform

Provides a set of Test Kitchen plugins which enable a system to use Test Kitchen to converge a Terraform configuration and verify the resulting Terraform state with InSpec controls. :skull:

rspec-terraform

RSpec tests for your Terraform modules. :skull:

terraform_validate

Assists in the enforcement of user-defined standards in Terraform. :skull:

terraform-compliance

BDD Testing for Terraform Files.

terratest

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

Tools

AIaC

Artificial Intelligence Infrastructure-as-Code Generator

AirIAM

AirIAM is a tool for AWS IAM to least privilege Terraform execution framework.

asdf

HashiCorp plugin for the [asdf](https://github.com/asdf-vm/asdf) version manager

astro

Astro is a tool for managing multiple Terraform executions as a single command. :ghost:

atlantis

Unified workflow for collaborating on Terraform through GitHub.

atmos

A universal tool that converts deep merged YAML to module inputs.

aws2tf

automates the importing of existing AWS resources into Terraform and outputs the Terraform HCL code.

aztfexport

A tool to bring existing Azure resources under Terraform's management.

balcony

CLI tool for easy AWS API reads. Also generates Terraform import-blocks, and actual Terraform Resource code.

blast radius

Interactive visualizations of Terraform dependency graphs. :skull:

cf-terraforming

A command line utility to facilitate terraforming your existing Cloudflare resources.

cfnctl

Cfnctl brings the Terraform cli experience to AWS Cloudformation.

Checkov

Terraform static analysis tool for terraform>=0.12

cloud-audit

AWS security auditing CLI with remediation engine that generates Terraform code for fixing misconfigurations.

Coder

Coder provisions software development environments on your infrastructure via Terraform.

coretech/terrafile

Systematically manage external modules from Github for use in Terraform (written in Go). :skull:

driftctl

Detect, track, and alert on infrastructure drift :skull:

drifthound

Continuous infrastructure drift detection with historical tracking and notifications.

dxw/terrafile

Systematically manage external modules from Github for use in Terraform (written in Ruby).

flora

Terraform version manager.

fogg

A tool for eliminating toil in managing terraform repositories.

former2

Generate terraform configuration from your existing resources within your AWS account.

fuzzy-terraform-rm

A fuzzy-finder command-line tool for removing resources from terraform state.

gaia

Gaia is a Terraform 🌍 UI for your modules, and self-service infrastructure 👨‍💻. :skull:

hcl2json

Convert hcl2 to json.

hcldump

Dump the HCL (v2) abstract syntax tree.

hcledit (mercari)

Go package to edit HCL configuration

hcledit (minamijoyo)

A command line editor for HCL.

hclgrep

Syntax based grep for HCL(v2).

hq

command-line HCL processor

iam-policy-json-to-terraform

Small tool to convert an IAM Policy in JSON format into a Terraform aws_iam_policy_document

Infracost

Cloud cost estimates for Terraform in your CLI and pull requests.

inframap

Read your tfstate or HCL to generate a graph specific for each provider, showing only the resources that are most important/relevant.

InfraScan

Advanced Infrastructure Auditor for cost and security analysis of Terraform, AWS, and Kubernetes.

InfraSketch

Free browser-based tool to visualize Terraform HCL and Docker Compose as architecture diagrams. Supports AWS & Azure. No signup, no credentials needed.

json2hcl

Convert JSON to HCL and vice versa. :ghost:

k2tf

Kubernetes YAML to Terraform HCL converter.

Kapitan

Generates Terraform/OpenTofu JSON and other infrastructure configuration from inventory-driven templates.

KICS

Scans IaC projects for security vulnerabilities, compliance issues, and infrastructure misconfiguration. Currently working with Terraform projects, Kubernetes manifests, Dockerfiles, AWS CloudFormation Templates, and Ansible playbooks.

layerform

Layerform helps engineers create reusable environment stacks using plain .tf files. Ideal for multiple "staging" environments. :skull:

library.tf

Library.tf is built and designed to not just provide you with all of the registry information for Terraform and OpenTofu but to provide all of the insights you need to make decisions. Quickly find modules or providers that are supported and maintained and not full of bugs.

modules.tf-lambda

Infrastructure as code generator from visual diagrams created with [Cloudcraft.co](https://cloudcraft.co) to Terraform.

para

The missing 3rd-party plugin manager and a "Swiss army knife" for Terraform/Terragrunt - just 1 tool to facilitate all workflows. :skull:

pike

Pike calculates the permissions or IAM policy required to build your Terraform.

pipeform

Terraform runtime TUI

platform-skills

AI-assisted field handbook for Terraform: IAM least privilege review, blast radius analysis, state impact, provider constraints, and rollback planning. Works as a Claude, Codex, Cursor, and Copilot plugin.

pluralith

Terraform state visualization and automated generation of infrastructure documentation. :heavy_dollar_sign:

pre-commit-terraform

pre-commit git hooks for Terraform and Terragrunt: auto-format, validate, update docs, run security checks, estimate costs, and more.

pretf

drop-in Terraform wrapper that generates Terraform configuration with Python. See [pretf documentation](https://pretf.readthedocs.io/en/latest/) :skull:

prettyplan for TF 0.12+

Prettyplan for TF 0.12+ ([available online here](https://cloudandthings.github.io/terraform-pretty-plan/)) is a small tool to help you view large Terraform plans with ease.

prettyplan

Prettyplan ([available online here](https://chrislewisdev.github.io/prettyplan/)) is a small tool to help you view large Terraform plans with ease. :ghost:

pug

The terminal user interface for terraform power users.

pytest-terraform

pytest terraform plugin with fixtures and offline replay support.

python-terrafile

Systematically manage external modules from Github for use in Terraform.

regula

Evaluates Terraform infrastructure-as-code for potential AWS, Azure, and Google Cloud security misconfigurations and compliance violations prior to deployment.

redc

Next-generation red team infrastructure automation tool built on Terraform, supporting multi-cloud deployment (Alibaba Cloud, Tencent Cloud, AWS, etc.) with one-command deployment for creating, configuring, and destroying red team environments.

renovate-config

Sharable Config Presets for Renovatebot, especially useful for DevOps folks.

Riftmap

Cross-repo dependency and change impact engine that scans multi-repo infrastructure across Terraform, Docker, Helm, and more to visualize what depends on what and what breaks when something changes.

rover

Interactive Terraform state and configuration explorer.

ruby-terraform

Simple Ruby wrapper for invoking terraform commands.

ReleaseRun Terraform Provider Matrix

Free browser tool to check Terraform provider version compatibility across Terraform and OpenTofu versions.

sato

Sato helps you convert your legacy Cloudformation into Terraform.

scenery

Another Terraform plan output prettifier. :ghost: :skull:

scratchrelaxtv

Simple Python tool to help with module development - extract vars from `main.tf` to generate `variables.tf` and make module usage stub from `variables.tf`.

serverless.tf - Doing serverless with Terraform

serverless.tf is an opinionated open-source framework for developing, building, deploying, and securing serverless applications and infrastructures on AWS using Terraform. [Read more](https://github.com/antonbabenko/serverless.tf).

ReleaseRun Terraform Security Scanner

Free browser-based scanner for `.tf` files. Checks hardcoded credentials, open ports to 0.0.0.0/0, public S3/RDS, unencrypted storage, missing deletion_protection. A-F grade. No install required.

Shieldly

AI-powered security analysis for Terraform-generated IAM policies and CloudFormation, explaining why a permission is risky and how to fix it. Free tier, CLI and GitHub Action.

Shisho

Lightweight static analyzer for Terraform.

Speakeasy

Generate a terraform provider from an OpenAPI specification.

stacks

Stacks, the Terraform code pre-processor

tads-boilerplate

The power of Ansible and Terraform + the simplicity of Docker Swarm = Infrastructure as Code and DevOps best practices.

tau

Tau is a thin wrapper on top of terraform to manage multiple deployments, dependencies, and secrets. :skull:

tenv

OpenTofu/Terraform/Terragrunt version manager.

terraboard

Web dashboard to inspect Terraform States.

terraboot

DSL to generate a terraform configuration and run it.

terracognita

Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration.

terracost

Cloud cost estimation for Terraform in your CLI.

terracove

Recursively test a directory tree for Terraform diffs and coverage.

TerraDepot

Terraform state repository, based on the default http remote backend. Allows the central administration of tfstates on AWS S3.

terradozer

Terraform destroy without configuration files.

terraeasy

Easy Terraform wrapper

terraform-ai-skills

AI-powered skill for GitHub Copilot, Claude, and ChatGPT that automates bulk Terraform module management — provider upgrades, workflow standardization, and releases across 10–200+ repositories on AWS, GCP, Azure, and DigitalOcean.

terraform-aws-clickops-notifier

Get notified when actions are taken in the AWS Console.

terraform-bundle

Easily builds bundles containing a Terraform binary as well as provider binaries. Useful for CI and air-gapped Terraform Enterprise.

terraform-cdk

CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform.

terraform-cleaner

Tiny utility which detects unused variables in your terraform modules.

terraform-credentials-vault

A Terraform "credentials helper" plugin that allows providing credentials for Terraform-native services (private module registries, Terraform Cloud, etc) via environment variables.

terraform-diff

Always know where you need to run Terraform plan & apply!

terraform-docs

Quick utility to generate docs from terraform modules.

terraform-graph-beautifier

Command line tool allowing to convert the barely usable output of the terraform graph command to something more meaningful and explanatory.

terraform-iam-policy-validator

CLI validates AWS IAM Policies in a Terraform template against AWS IAM best practices.

terraform-landscape

*(only 0.11 and earlier)* Improve Terraform's plan output to be easier to read and understand.

terraform-operator

A Kubernetes CRD to handle Terraform operations.

terraform-plan-parser

Command line utility and JavaScript API for parsing stdout from `terraform plan` and converting it to JSON. :ghost:

terraform-provisioner

Tool for managing multiple provisions of the same Terraform scripts.

terraform-rake-tasks

Shared Rake tasks for managing terraform plans.

terraform-repl

A terraform console wrapper for a better interactive console experience.

Terraform-Visual

A simple but powerful tool to visualize Terraform plan.

terravision

Generates professional cloud architecture diagrams from Terraform code using official AWS/Azure/GCP icons and design standards. Runs 100% client-side with CI/CD integration.

terraform.py

Ansible dynamic inventory script for parsing Terraform state files. :skull:

terraformer

CLI tool to generate terraform files from existing infrastructure. Infrastructure to Code. Supported many providers.

terraforming

Export existing AWS resources to Terraform style (tf, tfstate). Similar to `terraformer`. :skull:

terraformize

Apply\Destroy Terraform modules via a simple REST API endpoint. :skull:

terraformsh

A wrapper in Bash for easier CLI UX and DRY hierarchical configs

terragrunt-atlantis-config

Generate Atlantis config for Terragrunt projects.

terragrunt

Terragrunt is a thin wrapper for Terraform that provides extra tools for keeping your Terraform configurations DRY, working with multiple Terraform modules, and managing remote state.

terrahelp

Command line utility aimed at providing supplementary functionality which can sometimes prove useful when working with Terraform.

terrahub

TerraHub is terraform automation and orchestration tool. Seamlessly integrated into console.terrahub.io, enterprise friendly GUI to show realtime terraform executions, as well as auditing and reporting capabilities for historical terraform runs. :heavy_dollar_sign:

terramagic

Wizard tool for create folders and terraform files automated, written in Python !

terramate

Tool for managing multiple Terraform stacks that comes with support for change detection and code generation

terrap-cli

Terrap - a powerful CLI tool that scans your infrastructure and identifies any required changes.

terrars

Terrars is a tool for building Terraform stacks in Rust. This is an alternative to the CDK.

terrascan

Collection of security and best practice test for static code analysis of terraform templates

terrascope

Build orchestrator for terraform monorepos.

terrashine

Terrashine is a terraform provider mirror1 implementation that works by automatically caching dependencies as providers are requested.

terraspace

The Terraform Framework

terrastate

Visual Studio Code extension to monitor/deploy/destroy Terraform resources in your workspace

terratag

Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources.

tf-init-booster

A Pre-terraform routine that speedups terraform modules download for bulky blueprints.

tf-profile

Profiler for Terraform runs. Generate global stats, resource-level stats or visualizations.

tf-summarize

A command-line utility to print the summary of the terraform plan

tf-why

CLI tool that attributes Terraform drift to the AWS actor who caused it, via CloudTrail lookup.

tfaction

GitHub Actions collection for Opinionated Terraform Workflow

tfautomv

Generate Terraform `moved` blocks automatically for painless refactoring

tfcmt

CLI to notify the result of plan and apply as Pull Request comment.

tfedit

A refactoring tool for Terraform.

tfenv

Terraform version manager inspired by rbenv.

tfgen

Terraform code generator for consistent codebase and DRY.

tfgpt

A CLI tool that integrates Terraform with OpenAI's GPT-3.5 Turbo to provide explanations for Terraform commands and concepts.

tfimport

CLI tool to automate importing existing infrastructure innto tfstate.

tfjson

Utility to read in a Terraform plan file and dump it out in JSON. :skull:

tfk8s

A tool for converting Kubernetes YAML manifests to Terraform HCL

tflint

Terraform linter for detecting errors that can not be detected by `terraform plan`

tfmake

Automating Terraform with the power of make.

tfmask

Terraform utility to mask select output from `terraform plan` and `terraform apply` :skull:

tfmigrate

A Terraform state migration tool for GitOps.

tfmigrator

Go library and CLI to migrate Terraform Configuration and State

tfmv

Rename Terraform resources and generate moved blocks

tfocus

tfocus is a super interactive tool for selecting and executing Terraform plan/apply on specific resources. Think of it as an "emergency tool" - not for everyday use.

tfprovidercheck

CLI to prevent malicious Terraform Providers from being executed

tfproviderlint

Terraform Provider Lint Tool.

tfrepl

A Terraform REPL, giving you a full shell experience. Readline based. No dependencies. Save config changes. History.

tfreveal

A Terraform utility to show Terraform plans with all the secret (sensitive) values revealed.

tfscaffold

Framework for controlling multi-environment multi-component terraform-managed AWS infrastructure.

tfschema

Schema inspector for Terraform providers.

tfsec

Terraform static analysis tool that supports terraform <0.12 & >=0.12 & directly integrates with HCL parser for better results.

tfsort

CLI utility to sort Terraform variables and outputs.

tftarget

CLI Tool to do `terraform xxx -target={...}` interactively.

tftree

Display your Terraform module call stack in your terminal.

tftui

A textual user interface for Terraform state.

tfupdate

Update version constraints in your Terraform configurations.

tfvar

tfvar scans your Terraform configurations or modules and extracts the variables into formats of your choice (tfvar, environment variables, etc.) for editing.

tfvaultenv

tfvaultenv reads secrets from HashiCorp Vault and outputs environment variables for various Terraform providers with those secrets.

tfwrapper

Rubygem providing rake tasks for running Hashicorp Terraform sanely.

tfmcp

A CLI tool that helps you interact with Terraform via the Model Context Protocol (MCP), allowing AI assistants like Claude to manage and operate Terraform environments.

tgf

Terragrunt frontend for executing Terragrunt/Terraform through Docker.

threatcl

Documenting your Threat Models with HCL

tofuenv

OpenTofu version manager inspired by tfenv

tpm

A package manager for Terraform providers.

travelgrunt

cd inside [mono]repos without fatigue!

trupositive

Zero-config wrapper that automatically injects Git metadata (commit SHA, branch, repo) into all Terraform-managed resources.

validIaC

ValidIaC combines the best open-source tools to help ensure Terraform best practices, hygiene & security.

xterrafile

Systematically manage external modules from the module registry, git, or local directories for use in Terraform (written in Go). :skull:

yj

CLI - Convert between YAML, TOML, JSON, and HCL. Preserves map order.

yor

Automatically tag and trace infrastructure as code frameworks (Terraform, Cloudformation, and Serverless).

zephy

Compare Azure resources deployed in a subscription against resources managed by Terraform Enterprise (HCP & Selfhosted) workspaces *when your cloud's resource tagging strategy is insufficient*.

CI

setup-terraform

Sets up Terraform CLI in your GitHub Actions workflow.

terraform-plan

GitHub Action to run Terraform plan and add a comment with the changes.

terraform-risk-assessor

GitHub Action that analyses Terraform plan changes with AI and comments a risk assessment on pull requests.

VS Code Extensions

HashiCorp Terraform
vscode-terraform-live-graph

Terraform Live Graph Extension for Visual Studio Code is a plugin that allows you to generate a live Terraform graph as you code.

tf-nav

Terraform Navigation Extension to created an index of resources by type of file with an easy to navigate treeview.

Libraries

hcl-rs

HCL parsing and encoding libraries for rust with serde support

hcl4j

HCL parser in Java

nu_plugin_hcl

HCL parser plugin for [Nushell](https://github.com/nushell/nushell)

pyhcl

HCL parser in Python

python-hcl2

HCL2 parser in Python

rhcl

Pure Ruby HCL parser :skull:

tree-sitter-hcl

HCL grammar for tree-sitter

Boilerplates

Solo-Engineer Stack

Single Terraform repo wiring up Vercel + Supabase + Cloudflare + DigitalOcean as the indie-SaaS platform. One `terraform apply` provisions a Next.js project, a Supabase project with env vars piped to Vercel, a Cloudflare zone with R2 and Workers KV, and a DigitalOcean droplet with monitoring.

Terraform Generator

Scaffolding for a new terraform module or project with support of test frameworks (terratest and kitchen-terraform)

Terraform GitOps Framework

Everything you need to build reliable automation for AKS, EKS, and GKE Kubernetes clusters in one free and open-source framework.

Self-hosted Terraform Platforms

Lynx

Fast, Secure and Reliable Terraform Backend. It has a user-friendly dashboard, project and environment management, state versioning, locking and snapshots support.

OTF

Open Terraforming Framework, an open source alternative to Terraform Enterprise with full Terraform CLI integration.

Terrakube

Open Source alternative to Terraform Enterprise with private registry, remote state, custom flows, scheduled workspaces, and visual states.

Digger

Open Source Alternative to Terraform Cloud - Run Terraform plan & apply jobs in your CI.

cloud-concierge

Open Source, codify unmanaged resources as Terraform, detect drift, and cloud cost and security analysis, delivered as a Pull Request.

Stack-Lifecycle-Deployment

OpenSource solution that defines and manages the complete lifecycle of resources used and provisioned into a cloud.

Burrito

TACoS Kubernetes Operator - "ArgoCD for Terraform"

Terrateam

Open-source alternative to Terraform Cloud/Enterprise, GitOps-first with native GitHub integration and designed for scale, security, and reliability.

Managed Terraform Platforms :heavy_dollar_sign:

compliance.tf

Terraform modules with SOC 2, PCI DSS, HIPAA, NIST 800-53, and 35+ other frameworks built in. Non-compliant configs fail at `terraform plan` before anything applies. :heavy_dollar_sign:

ControlMonkey

Alternative to Terraform Cloud with Terraform/OpenTofu code generation, cloud inventory and IaC coverage. Includes out-of-the-box policies, drift remediation, and a ClickOps activity scanner. :heavy_dollar_sign:

Firefly

Alternative to Terraform Cloud by leveraging your CI tool. Firefly platform also scans your cloud to asses the IaC coverage & drift detection. :heavy_dollar_sign:

Scalr

Alternative to Terraform Enterprise with OPA integration, organizational structure, custom hooks, native integrations with other DevOps platforms, and centralized reporting. :heavy_dollar_sign:

Stategraph

Terraform and OpenTofu without the state file bottleneck. Replace the flat state file with a real database. Teams plan in parallel, state is queryable via SQL, and plans run in seconds instead of minutes. :heavy_dollar_sign:

env0

Alternative to Terraform Cloud/Enterprise with OPA integration, custom flows and Terragrunt support :heavy_dollar_sign:

Brainboard

Visually Design, Deploy & Manage modern cloud infrastructures starting from any Cloud Provider - AWS, GCP, Azure :heavy_dollar_sign:

Spacelift

Alternative to Terraform Cloud/Enterprise. Collaborative Infrastructure Delivery Platform for Terraform :heavy_dollar_sign:

StackGuardian

Infrastructure codification and orchestration platform that converts existing cloud resources into IaC, featuring policy-driven workflows with Tirith, OPA, and Checkov, with support for private runtimes and no-code templates. :heavy_dollar_sign:

Terraform Enterprise Tooling

terraform-enterprise-cli

Terraform Enterprise Command Line Interface.

terraform-enterprise-client

Terraform Enterprise API Ruby Client and Command Line tool.

terraform-enterprise-migrator

Script for migrating Terraform Enterprise environments from Legacy to new version of Terraform Enterprise.

Videos

Your Weekly Dose of Terraform

YouTube channel with weekly live streams covering Terraform news, reviews, interviews, Q&A, live coding, and some hacking with Terraform.

Terraform explained in 15 mins

Terraform explained in 15 mins.

Terraform Course

Automate your AWS cloud infrastructure.

How to Build Reusable, Composable, Battle tested Terraform Modules

Yevgeniy Brikman talks about how to write Terraform code so that it is reusable, composable and testable. The presentation focuses on Terraform modules but also provides a brief and clear explanation of what problem Terraform was created to solve and a short demo of Terraform basics (~39 min, October 2017).

Building Scalable, Repeatable Infrastructure in the Cloud with Terraform

Demonstrates how Terraform enables the practice of Infrastructure as Code by deploying TeamCity in AWS using a hosted PostgreSQL.

Creating a Google Compute Instance with Terraform

Example of creating a Google Compute Instance with Terraform code.

Creating a Terraform Provider for Just About Anything

Learn how to contribute to a Terraform provider or create your own from this walkthrough.

Evolving Your Infrastructure with Terraform

CTO of OpenCredo provides an extensive look at using Terraform in the real-world with the help of some interesting use-cases.

How to Extend the Terraform Provider List

In this talk, Paul will walk through the creation of a terraform provider.

Orchestrating Containers with Terraform and Consul

Mitchell Hashimoto shows how Terraform can be used to deploy and scale containerized workloads.

Production ChaosMonkey with Terraform

How DigitalOcean uses Terraform to run production integration tests.

Running a Terraform Environment at Scale

Running Terraform at scale with hundreds of AWS accounts.

Setup Continuous Integration for a Terraform module

Example of using CI with Kitchen-Terraform to test, tag and publish our Terraform module, which creates a Google Compute Instance.

State of Terraform Providerland

How Terraform providers work and how to write one.

Terraform At Scale

How Segment uses Terraform.

Terraform w/ Lee Trout

Focuses on development patterns and how to effectively structure Terraform code.

Terraforming the Composable World

Integrating Terraform with an on-premise bare metal provisioning.

Test and verify a Google Compute Instance with Kitchen-Terraform

Example of using Kitchen-Terraform to test our Terraform code that creates a Google Compute.

Untangling Terraform Through Refactoring

How to refactor your Terraform code in a careful way with minimum risk.

Complete Terraform Course - From BEGINNER to PRO! (Learn Infrastructure as Code)

Complete course from beginner to pro, with no cloud provider focus, with a general approach

  • Going Multi-Cloud with Terraform and Nomad.

Editor Plugins

Emacs terraform-mode
Intellij
vim-hcl

Syntax highlighting for HCL

Vim-Terraform-Completion
Vim-Terraform
  • Terraform-ls (Terraform Language Server)
  • Terraform-lsp (Language Server Protocol for Terraform)