Awesome Terraform
Curated list of resources on HashiCorp's Terraform and OpenTofu
This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.
Official Resources
Community
weekly.tf - Terraform Weekly Newsletter
Weekly newsletter covering Terraform news, open-source projects, announcements, and discussions.
Terraform AWS Modules
+ meta-configurations repository
Terraform Bug Tracker
Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
Terraform PDF Doc
skull:
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.
Books
Terraform Best Practices
open-source ebook
Terraform in Depth
Book with OpenTofu sections.
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 and the mobile/PWA apps below.
Terraform Terminal Simulator
Practice init, plan, and apply in a simulated terminal in the browser. Free and open source, no signup.
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.
DevOpsLesson Terraform Playground
Free browser-based Terraform simulator with guided HCL exercises and practice commands.
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
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 and the mobile/PWA apps below.
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.
Introduction to Terraform
Beginner-friendly guide to Terraform fundamentals — providers, resources, state, and your first apply with hands-on examples.
Tutorials and Blog Posts >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)
Tutorials and Blog Posts >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.
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.
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$ 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.
Tutorials and Blog Posts >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.
Tutorials and Blog Posts >Azure
Learning HashiCorp Terraform
Guide for Azure.
New Terraform Azure Automation Resources
Azure Automation.
Terraforming Azure PaaS
Deploy PaaS Resources on Azure.
azure-az104
AZ-104 Azure Administrator study notes and hands-on Terraform examples, including a landing-zone reference architecture.
Tutorials and Blog Posts >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?
Tutorials and Blog Posts >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.
Tutorials and Blog Posts >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 at Segment.
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.
The terraform-docs GitHub Action: A Complete CI Setup Guide
Generating and auto-committing module docs on every PR with terraform-docs, including the OIDC/permissions gotchas that break it in CI.
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 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
+ meta-configurations repository
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 on Google Compute Engine.
terraform-google-project-factory
Opinionated Google Cloud Platform project creation and configuration with Shared VPC, IAM, APIs, etc.
terraform-helm-carbon-intensity-exporter
Terraform/Helm module to deploy the Kubernetes Carbon Intensity Exporter.
terraform-helm-cloud-carbon-footprint
Terraform/Helm module to deploy Cloud Carbon Footprint on Kubernetes.
terraform-helm-kepler
Terraform module to deploy Kepler (Kubernetes power profiling) via Helm.
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.
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-owned collection of verified Terraform modules for Azure, codifying WAF best practices for consistent infrastructure deployment.
cloudsmith
Managed package hoster for internal and external clients. :heavy_dollar_sign:
terramantle.dev
A registry that focuses on module & state insights, tackling dependency management
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.
Providers >Vendor supported providers
terraform-provider-alicloud
Provider for Alibaba Cloud.
terraform-provider-artifactory
Provider for JFrog Artifactory.
terraform-provider-atlas
Provider for Atlas.
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 resources for API & E2E monitoring.
terraform-provider-coder
Provider for Coder
terraform-provider-confluent
Provider for Confluent.
terraform-provider-datadog
Provider for Datadog.
terraform-provider-devhelm
Provider for DevHelm 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
terraform-provider-featureflip
Provider for Featureflip feature flags: projects, environments, flags, targeting rules, segments and SDK keys.
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 identity provider server.
terraform-provider-linode
Provider for Linode.
terraform-provider-nxip
Provider for nxip, IPAM with pool-based CIDR allocation across cloud and on-premise. :heavy_dollar_sign:
terraform-provider-openstack
Plugin for OpenStack.
terraform-provider-panos
Provider for Palo Alto Networks next-generation firewalls.
terraform-provider-phare
Terraform provider for Phare.
terraform-provider-planetscale
Terraform provider for PlanetScale (Vitess & Postgres).
terraform-provider-qovery
Provider for Qovery — 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
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.
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.
Providers >Community providers
terraform-provider-coolify
Terraform provider for Coolify.
terraform-provider-docker
Terraform Docker provider.
terraform-provider-minio
Terraform provider for managing MinIO S3 buckets and IAM Users.
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-proxmox
Terraform Proxmox provider.
terraform-provider-seerr
Terraform provider for Seerr (Overseerr/Jellyseerr).
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-appstore
Terraform provider for Apple App Store Connect.
terraform-provider-expo
Terraform provider for Expo Application Services (EAS).
terraform-provider-paddle
Terraform provider for Paddle Billing catalog resources, lifecycle actions, and lookup data sources.
terraform-provider-seekrit
Manage seekrit apps, environments, groups, service tokens, key grants and secrets. Write-only arguments and ephemeral resources keep secret values out of state.
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.
Tools
AirIAM
AirIAM is a tool for AWS IAM to least privilege Terraform execution framework.
asdf
HashiCorp plugin for the 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.
AzureNamer
Generates CAF compliant names for 200+ Azure resource types and exports them as Terraform locals, with live length and character validation.
balcony
CLI tool for easy AWS API reads. Also generates Terraform import-blocks, and actual Terraform Resource code.
bare-devcontainer/templates
Security-focused Terraform dev container with terraform-ls and rebuild-friendly caching. The base image is available at bare-devcontainer/images.
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.
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:
Cynative
Open-source security agent framework for reviewing Terraform configurations and investigating live infrastructure through read-only cloud APIs.
Datadef
Generates architecture diagrams and docs from a Terraform repo: parses .tf files without running terraform init or reading state, draws modules as zones with per-environment counts, re-syncs daily. :heavy_dollar_sign:
demonolith
Splits up monolithic Terraform projects with demonolith refactor (to move the code) and demonolith migrate (to migrate into smaller .tfstate files).
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 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 :skull:
prettyplan for TF 0.12+
Prettyplan for TF 0.12+ (available online here) is a small tool to help you view large Terraform plans with ease.
prettyplan
Prettyplan (available online here) 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.
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.
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
SyncVey
Self-hosted AWS asset ledger with attribute-level drift detection between tfstate and live AWS state, scheduled scans, and middleware EOL alerts.
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:
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.
TerraDrift
Self-hosted Terraform/OpenTofu drift CLI for CI and cron (plan-based; not unmanaged-resource inventory).
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 Bug Tracker
Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
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
tfmodcache
Local, shared module cache for Terraform and OpenTofu; terraform init stops re-downloading modules it already has. I am the author.
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.
tfvault
Universal Terraform credentials helper with pluggable secret backends (OS keyring, pass/gopass, environment variables) and per-profile account isolation.
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.
Tools >CI
opentofu-updater-action
GitHub Action that keeps OpenTofu/Terraform providers, modules, Helm charts and container images up to date by opening pull requests.
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.
Tools >VS Code Extensions
HashiCorp Terraform
Syntax highlighting, linting, formatting, and validation for Hashicorp's 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
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
Snap CD
Fully-featured continuous deployment platform that facilitates modular deployments with isolated runners, dependency-aware automation, and fine-grained access control.
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
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,…
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
Editor Plugins
Terraform-ls
(Terraform Language Server)
Terraform-lsp
(Language Server Protocol for Terraform)
vim-hcl
Syntax highlighting for HCL
Related lists in Back-End Development
See categoryAwesome Sysadmin
awesome-foss/awesome-sysadmin
A curated list of amazingly awesome open-source sysadmin resources.
awesome-zsh-plugins
unixorn/awesome-zsh-plugins
A collection of ZSH frameworks, plugins, themes and tutorials.
Awesome Docker
veggiemonk/awesome-docker
:whale: A curated list of Docker resources and projects
Awesome GraphQL
chentsulin/awesome-graphql
Awesome list of GraphQL
Awesome-Kubernetes
ramitsurana/awesome-kubernetes
A curated list for awesome kubernetes sources :ship::tada:
Awesome Quant
wilsonfreitas/awesome-quant
A curated list of insanely awesome libraries, packages and resources for Quants (Quantitative Finance)