Files
awesome-awesomeness/html/terraform.html
2025-07-18 22:22:32 +02:00

1489 lines
74 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-terraform-awesome">Awesome Terraform <a
href="https://github.com/sindresorhus/awesome"><img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome" /></a> <!-- omit in toc --></h1>
<blockquote>
<p>A curated list of resources on <a
href="https://www.terraform.io/">HashiCorps Terraform</a>. <a
href="https://terraform.io"><img src="https://rawgit.com/shuaibiyy/awesome-terraform/master/terraform.svg" align="right" width="100"></a>
Your <a
href="https://github.com/shuaibiyy/awesome-terraform/blob/master/contributing.md">contributions</a>
are welcome!</p>
</blockquote>
<p>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.</p>
<h2 id="contents">Contents <!-- omit in toc --></h2>
<ul>
<li><a href="#legend">Legend</a></li>
<li><a href="#official-resources">Official Resources</a></li>
<li><a href="#community">Community</a></li>
<li><a href="#books">Books</a></li>
<li><a href="#tutorials-and-blog-posts">Tutorials and Blog Posts</a>
<ul>
<li><a href="#beginner-guides">Beginner Guides</a></li>
<li><a href="#writing-custom-providers">Writing Custom
Providers</a></li>
<li><a href="#how-to">How-To</a></li>
<li><a href="#multi-environment-configuration">Multi-Environment
Configuration</a></li>
<li><a href="#azure">Azure</a></li>
<li><a href="#aws">AWS</a></li>
<li><a href="#google-cloud">Google Cloud</a></li>
<li><a href="#miscellaneous">Miscellaneous</a></li>
</ul></li>
<li><a href="#community-modules">Community Modules</a></li>
<li><a href="#self-hosted-registries">Self-Hosted Registries</a></li>
<li><a href="#managed-registries">Managed Registries</a></li>
<li><a href="#providers">Providers</a>
<ul>
<li><a href="#hashicorp-supported-providers">Hashicorp supported
providers</a></li>
<li><a href="#vendor-supported-providers">Vendor supported
providers</a></li>
<li><a href="#community-providers">Community providers</a></li>
</ul></li>
<li><a href="#testing">Testing</a></li>
<li><a href="#tools">Tools</a>
<ul>
<li><a href="#ci">CI</a></li>
<li><a href="#ide">IDE</a></li>
</ul></li>
<li><a href="#libraries">Libraries</a></li>
<li><a href="#boilerplates">Boilerplates</a></li>
<li><a href="#self-hosted-terraform-platforms">Self-hosted Terraform
Platforms</a></li>
<li><a href="#managed-terraform-platforms-heavy_dollar_sign">Managed
Terraform Platforms :heavy_dollar_sign:</a></li>
<li><a href="#terraform-enterprise-tooling">Terraform Enterprise
Tooling</a></li>
<li><a href="#videos">Videos</a></li>
<li><a href="#editor-plugins">Editor Plugins</a></li>
<li><a href="#license">License</a></li>
</ul>
<h2 id="legend">Legend</h2>
<ul>
<li>Not compatible with <em>terraform &gt;= 0.12</em> :ghost:</li>
<li>Abandoned :skull:</li>
<li>Monetized :heavy_dollar_sign:</li>
</ul>
<h2 id="official-resources">Official Resources</h2>
<ul>
<li><a
href="https://www.hashicorp.com/blog/products/terraform">Hashicorp
Terraform Blog</a></li>
<li><a
href="https://developer.hashicorp.com/terraform/intro">Introduction to
Terraform</a></li>
<li><a href="https://developer.hashicorp.com/terraform/docs">Terraform
Documentation</a></li>
<li><a
href="https://developer.hashicorp.com/terraform/tutorials">Terraform
learn</a></li>
</ul>
<h2 id="community">Community</h2>
<ul>
<li><a href="https://www.weekly.tf/">weekly.tf - Terraform Weekly
Newsletter</a> - Various news in the Terraform world (projects,
announcements, discussions).</li>
<li><a
href="https://github.com/antonbabenko/terraform-docs-as-pdf">Complete
Terraform documentation as PDF files (Updated nightly)</a></li>
<li><a href="https://github.com/terraform-aws-modules">Terraform AWS
Modules</a> + <a
href="https://github.com/terraform-aws-modules/meta">meta-configurations
repository</a></li>
<li><a href="https://github.com/hashicorp/terraform/issues">Terraform
Bug Tracker</a></li>
<li><a href="https://github.com/terraform-community-modules">Terraform
Community Modules</a></li>
<li><a
href="https://twitter.com/i/communities/1501688565884928007">Terraform
Twitter Community</a> <!-- markdown-link-check-disable-line --></li>
<li><a
href="https://discuss.hashicorp.com/c/terraform-core/27">Terraform
Discuss</a></li>
<li><a href="https://registry.terraform.io/">Terraform Provider/Module
Registry</a></li>
<li><a href="https://github.com/dohsimpson/terraform-doc-pdf">Terraform
PDF Doc</a> :skull:</li>
<li><a href="https://roadmap.sh/terraform">Terraform Roadmap</a></li>
<li><a
href="https://github.com/antonbabenko/terragrunt-reference-architecture">Terragrunt
Reference Architecture</a></li>
<li>Language-specific communities:
<ul>
<li><a href="https://t.me/terraform_ukraine">Telegram (Ukrainian speak
community)</a></li>
</ul></li>
</ul>
<h2 id="books">Books</h2>
<ul>
<li><a
href="https://www.amazon.com/Big-Little-Book-Terraform-Omos-ebook/dp/B07PWYPNX8/">Big
Little Book On Terraform</a></li>
<li><a
href="https://www.manning.com/books/bootstrapping-microservices-second-edition">Bootstrapping
Microservices with Docker, Kubernetes, and Terraform, Second
Edition</a></li>
<li><a
href="https://link.springer.com/book/10.1007/978-1-4842-7328-9">Deep-Dive
Terraform on Azure</a></li>
<li><a
href="https://www.amazon.com/Getting-Started-Terraform-production-infrastructure/dp/1788623533/">Getting
Started with Terraform, 2nd ed.</a></li>
<li><a
href="https://www.amazon.com/HashiCorp-Infrastructure-Automation-Certification-Guide-ebook/dp/B092KM7LXC/">HashiCorp
Infrastructure Automation Certification Guide</a></li>
<li><a href="https://product.kyobobook.co.kr/detail/S000202478097">IaC
starting with Terraform (Korean)</a></li>
<li><a
href="http://shop.oreilly.com/product/0636920039297.do">Infrastructure
as Code</a></li>
<li><a
href="https://www.manning.com/books/infrastructure-as-code-patterns-and-practices">Patterns
and Practices for Infrastructure as Code: With examples in Python and
Terraform</a></li>
<li><a href="https://www.terraform-best-practices.com/">Terraform Best
Practices</a> - <a
href="https://github.com/antonbabenko/terraform-best-practices">open-source
ebook</a></li>
<li><a
href="https://www.amazon.com/Terraform-Cookbook-Efficiently-Infrastructure-platforms/dp/1800207557">Terraform
Cookbook</a></li>
<li><a href="https://www.terraformforops.com">Terraform for Ops
e-book</a></li>
<li><a
href="https://www.manning.com/books/terraform-in-action">Terraform in
Action</a></li>
<li><a href="https://www.manning.com/books/terraform-in-depth">Terraform
in Depth</a></li>
<li><a href="https://www.terraformupandrunning.com/">Terraform: Up &amp;
Running, 3rd ed.</a></li>
<li><a href="https://terraformbook.com/">The Terraform Book</a></li>
</ul>
<h2 id="learning-and-studying">Learning and Studying</h2>
<ul>
<li>Terraform Academy - (https://www.terraformacademy.com)</li>
</ul>
<h2 id="tutorials-and-blog-posts">Tutorials and Blog Posts</h2>
<h3 id="beginner-guides">Beginner Guides</h3>
<ul>
<li><a
href="https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca">A
Comprehensive Guide to Terraform</a> - Series of blog posts from the
author of “Terraform: Up &amp; Running” that guide the reader from
beginning with Terraform to using it in the real world.</li>
<li><a
href="https://dev.to/koenighotze/using-terraform-for-cloud-deployments---part-1">Using
Terraform for Cloud Deployments - Part 1</a> - Provisioning an EC2
instance.</li>
<li><a href="https://section411.com/2019/07/hello-world/">Hello, world:
The Fargate/Terraform tutorial I wish I had</a> - Blog post describing
setting up an ECS Fargate cluster from scratch</li>
<li><a
href="https://sysdig.com/blog/terraform-security-best-practices/">Terraform
Security Guide</a> - Blog post describing security best practices when
working with Terraform</li>
<li><a
href="https://www.speakeasyapi.dev/post/build-terraform-providers">Building
a SaaS API? Dont Forget Your Terraform Provider</a> - Why you should
write a terraform provider</li>
<li><a
href="https://blog.stephane-robert.info/docs/infra-as-code/provisionnement/terraform/introduction/">Complete
Terraform Course in French (Free)</a> A comprehensive and free course
in French to master Terraform, from beginner to advanced usage, with
hands-on examples and best practices.</li>
</ul>
<h3 id="writing-custom-providers">Writing Custom Providers</h3>
<ul>
<li><a
href="https://blog.pelo.tech/creating-custom-terraform-providers-341311823fa2">Creating
custom terraform providers</a> - Guide for creating custom
providers.</li>
<li><a
href="https://web.archive.org/web/20220516140659/http://blog.jfabre.net/2017/01/22/writing-terraform-provider/">Writing
a Terraform provider</a> - Guide for creating custom providers.</li>
<li><a
href="https://developer.hashicorp.com/terraform/plugin/sdkv2">Writing
Custom Providers</a> - Official documentation for creating custom
providers.</li>
<li><a
href="https://www.speakeasyapi.dev/docs/create-terraform">Terraform
Provider Code generation</a> - Guide to generating a terraform provider
from an OpenAPI specification (Vendor Supported)</li>
</ul>
<h3 id="how-to">How-To</h3>
<ul>
<li><a
href="https://www.scalr.com/blog/opa-series-part-1-open-policy-agent-and-terraform">How
To Write OPA for Terraform</a> - How to use Open Policy Agent to
evaluate and enforce policy on your Terraform plans</li>
<li><a
href="https://web.archive.org/web/20181001135342/http://www.hashicorp.com/blog/deploying-discourse-with-terraform">Deploying
Discourse with Terraform</a> - Shows how Terraform can create a running
instance of Discourse on DigitalOcean in one command.</li>
<li><a
href="https://testdriven.io/blog/deploying-django-to-ecs-with-terraform/">Deploying
Django to AWS ECS with Terraform</a> - Looks at how to use Terraform to
spin up the required AWS infrastructure for running a Django app on
ECS.</li>
<li><a
href="http://chiefy.github.io/easily-deploy-a-seneca-microservice-to-ecs-with-wercker-and-terraform-part-i/">Easily
Deploy A Seneca Microservice to ECS with Wercker and Terraform: Part
I</a>, <a
href="http://chiefy.github.io/easily-deploy-a-seneca-microservice-to-ecs-with-wercker-and-terraform-part-ii/">II</a>
&amp; <a
href="http://chiefy.github.io/easily-deploy-a-seneca-microservice-to-ecs-with-wercker-and-terraform-part-i/">III</a>
- Illustrates how Terraform can be incorporated into a microservice
deployment pipeline.</li>
<li><a
href="https://web.archive.org/web/20210616132857/https://deployeveryday.com/2020/04/13/vpn-aws-azure-terraform.html">Terraform
for a Highly Available VPN between AWS and Azure</a> - Terraform code to
deploy a highly available VPN between AWS and Azure.</li>
<li><a
href="https://blog.1password.com/terraforming-1password/">Terraforming
1Password</a> - How 1Password migrated from CloudFormation to
Terraform.</li>
<li><a
href="https://web.archive.org/web/20170611135511/http://www.stratoscale.com/blog/openstack/tutorial-how-to-use-terraform-to-deploy-openstack-workloads/">Tutorial:
How to Use Terraform to Deploy OpenStack Workloads</a> - Illustrates how
easy it is to use the OpenStack Terraform provider to deploy a web
server.</li>
<li><a
href="https://www.hashicorp.com/blog/zero-downtime-updates-with-terraform">Zero
Downtime Updates with HashiCorp Terraform</a> - Ensuring zero downtime
of your infrastructure.</li>
<li><a href="https://github.com/nufailtd/terraform-budget-gcp">Google
Cloud Platform for 10$ a month using terraform</a> - Shows how to use
terraform to create a secure Google Kubernetes Cluster, Google Cloud Run
Services and other infrastructure elements for less than <a
href="https://nufailtd.github.io/budget-gcp/">10$</a> a month.</li>
<li><a
href="https://betterprogramming.pub/infracost-terraform-github-actions-automate-cloud-cost-management-a62b329f2834?sk=495131c5831bc9276369150da5f3bc2c">Infracost
+ Terraform + GitHub Actions = Automate Cloud Cost Management</a> - How
to use Infracost as the guardrail to manage cloud cost during Terraform
development.</li>
<li><a
href="https://www.speakeasyapi.dev/post/pulumi-terraform-provider">How
To Wrap Your Terraform Provider for Pulumi</a> - Making your terraform
provider pulumi-ready</li>
</ul>
<h3 id="multi-environment-configuration">Multi-Environment
Configuration</h3>
<ul>
<li><a
href="http://bensnape.com/2016/01/14/terraform-design-patterns-the-terrafile/">Terraform
Design Patterns: the Terrafile</a> - Managing Terraform modules and
their versions within Terraform projects with Terrafile.</li>
<li><a
href="https://charity.wtf/2016/03/30/terraform-vpc-and-why-you-want-a-tfstate-file-per-env/">Terraform,
VPC, and why you want a tfstate file per env</a> - Some gotchas
surrounding using Terraform in large projects with multiple environments
and how to avoid them.</li>
<li><a
href="https://medium.com/@kief/https-medium-com-kief-using-pipelines-to-manage-environments-with-infrastructure-as-code-b37285a1cbf5">Using
Pipelines to Manage Environments with Infrastructure as Code</a> -
Explains different approaches for building a pipeline to handle
infrastructure changes moving from one environment to the next.</li>
</ul>
<h3 id="azure">Azure</h3>
<ul>
<li><a
href="https://web.archive.org/web/20201108000713/https://www.g10s.io/hashicorp-terraform/">Learning
HashiCorp Terraform</a> - Guide for Azure.</li>
<li><a href="https://bgelens.nl/terraform-automation-resources/">New
Terraform Azure Automation Resources</a> - Azure Automation.</li>
<li><a
href="https://devkimchi.com/2019/01/21/terraforming-azure-paas/">Terraforming
Azure PaaS</a> - Deploy PaaS Resources on Azure.</li>
</ul>
<h3 id="aws">AWS</h3>
<ul>
<li><a href="https://github.com/nsriram/lambda-the-terraform-way">AWS
Lambda the Terraform Way</a> - Understand AWS Lambda in-depth, beyond
executing functions, using Terraform. Also includes guides for
integration with S3, API Gateway, DynamoDB, Kinesis, SQS.</li>
<li><a href="https://spacelift.io/blog/terraform-aws-lambda">Managing
AWS Lambda Functions with Terraform</a> - What is AWS Lambda used for
and how to use Terraform to manage AWS Lambda functions?</li>
</ul>
<h3 id="google-cloud">Google Cloud</h3>
<ul>
<li><a
href="https://cloud.google.com/docs/terraform/resource-management/managing-infrastructure-as-code">Managing
infrastructure as code with Terraform, Cloud Build, and GitOps</a> -
Setup and manage infrastructure as code with Terraform, Cloud Build, and
GitOps.</li>
<li><a
href="https://cloud.google.com/docs/terraform/get-started-with-terraform">Getting
started with Terraform on Google Cloud</a> - Using Terraform to create a
VM in Google Cloud and Starting a basic Python Flask server.</li>
<li><a
href="https://www.cloudskillsboost.google/course_templates/746">Managing
Cloud Infrastructure with Terraform</a> - 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.</li>
<li><a
href="https://developer.hashicorp.com/terraform/tutorials/gcp-get-started">Hashicorp
Terraform Tutorials for Google Cloud</a> - Get started with Terraform on
Google Cloud.</li>
</ul>
<h3 id="miscellaneous">Miscellaneous</h3>
<ul>
<li><a
href="https://web.archive.org/web/20230927082422/https://jamesmckay.net/2016/09/sharing-data-between-terraform-configurations/">Sharing
data between Terraform configurations</a> - Illustrates how to use
remote state to share data between Terraform configurations.</li>
<li><a href="https://segment.com/blog/the-segment-aws-stack/">The
Segment AWS Stack</a> - Shows the behind the scenes of the
infrastructure powered by Terraform that solved <a
href="https://segment.com/blog/the-million-dollar-eng-problem/">The
Million Dollar Engineering Problem</a> at <a
href="https://segment.com/">Segment</a>.</li>
<li><a
href="https://www.contino.io/insights/top-3-terraform-testing-strategies-for-ultra-reliable-infrastructure-as-code">Top
3 Terraform Testing Strategies for Ultra-Reliable
Infrastructure-as-Code</a></li>
<li><a
href="https://charity.wtf/2016/02/23/two-weeks-with-terraform/">Two
Weeks with Terraform</a> - Some hard-earned experience from using
Terraform in the wild, and some operational wisdom.</li>
<li><a
href="https://aws.amazon.com/blogs/apn/terraform-beyond-the-basics-with-aws/">Terraform:
Beyond the Basics with AWS</a> - Explanation of a demo using Terraform
to provision a sample AWS architecture.</li>
<li><a
href="https://github.com/antonbabenko/terraform-cost-estimation">Terraform
cost estimation</a> - Anonymized, secure, and free Terraform cost
estimation based on Terraform plan (0.12+) or Terraform state (any
version).</li>
<li><a href="https://spacelift.io/blog/terraform-debug">How to Debug
Terraform Projects: Tutorial</a></li>
</ul>
<h2 id="community-modules">Community Modules</h2>
<p>For more Community Modules not listed here please see the <a
href="https://registry.terraform.io/">Terraform Module Registry</a>.</p>
<ul>
<li><a
href="https://github.com/lunagt/rancher-terraform-digitalocean">rancher-terraform-digitalocean</a>
- Rancher server on digitalocean.</li>
<li><a href="https://github.com/segmentio/stack">segmentio/stack</a> -
Configures production infrastructure with AWS, Docker, and ECS.
:skull:</li>
<li><a
href="https://github.com/be-bold/terraform-aws-account-lookup">terraform-aws-account-lookup</a>
- 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.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-alb">terraform-aws-alb</a>
- Creates Application load-balancer on AWS (verified module).</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-appconfig">terraform-aws-appconfig</a>
- Creates AWS AppConfig resources on AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-atlantis">terraform-aws-atlantis</a>
- Creates Terraform configurations for running <a
href="https://runatlantis.io">Atlantis</a> on AWS Fargate. Github,
Gitlab, and BitBucket are supported.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-autoscaling">terraform-aws-autoscaling</a>
- Creates Auto-Scaling Groups and Launch Configurations (verified
module).</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-customer-gateway">terraform-aws-customer-gateway</a>
- Creates Customer Gateway on AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-datadog-forwarders">terraform-aws-datadog-forwarders</a>
- Creates resources on AWS to forward logs/metrics to Datadog.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-dms">terraform-aws-dms</a>
- Creates AWS DMS (Database Migration Service) resources on AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-dynamodb-table">terraform-aws-dynamodb-table</a>
- Creates DynamoDB table on AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-ec2-instance">terraform-aws-ec2-instance</a>
- Creates EC2 instances on AWS.</li>
<li><a
href="https://github.com/cloudposse/terraform-aws-ecr">terraform-aws-ecr</a>
- Manages Docker container registries on AWS ECR.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-ecs">terraform-aws-ecs</a>
- Creates AWS ECS resources on AWS.</li>
<li><a
href="https://github.com/cloudposse/terraform-aws-efs">terraform-aws-efs</a>
- Defines an EFS Filesystem.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-eks">terraform-aws-eks</a>
- Creates Elastic Kubernetes Service on AWS (very popular module).</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-elb">terraform-aws-elb</a>
- Creates Elastic load-balancer on AWS (verified module).</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-eventbridge">terraform-aws-eventbridge</a>
- Creates EventBridge resources on AWS.</li>
<li><a
href="https://github.com/neiman-marcus/terraform-aws-jenkins-ha-agents">terraform-aws-jenkins-ha-agents</a>
- EC2 Based Jenkins deployment with HA (spot) agents. Runs on EFS for
immutability. Fully customizable, with sensible defaults.</li>
<li><a
href="https://github.com/cloudposse-archives/terraform-aws-jenkins">terraform-aws-jenkins</a>
- Build a Docker image with Jenkins, saves it to an ECR repo, and
deploys it to Elastic Beanstalk running a Docker stack.</li>
<li><a
href="https://github.com/cloudposse/terraform-aws-key-pair">terraform-aws-key-pair</a>
- Automatically Generate SSH Key Pairs (Public/Private Keys).</li>
<li><a
href="https://github.com/nozaq/terraform-aws-lambda-auto-package">terraform-aws-lambda-auto-package</a>
- A terraform module to define a lambda function which source files are
automatically built and packaged for lambda deployment.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-lambda">terraform-aws-lambda</a>
- Terraform module, which builds dependencies and packages, and also
creates AWS Lambda resources in countless combinations.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-managed-service-prometheus">terraform-aws-managed-service-prometheus</a>
- Creates AWS Managed Service for Prometheus (AMP) resources on
AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules">terraform-aws-modules</a>
- Collection of Terraform AWS modules supported by the community
(includes official AWS modules).</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-msk-kafka-cluster">terraform-aws-msk-kafka-cluster</a>
- Creates AWS MSK (Managed Streaming for Kafka) resources on AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-notify-slack">terraform-aws-notify-slack</a>
- Creates SNS topic and Lambda function, which sends notifications to
Slack.</li>
<li><a
href="https://github.com/azavea/terraform-aws-postgresql-rds">terraform-aws-postgresql-rds</a>
- Creates PostgreSQL on RDS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-rds-aurora">terraform-aws-rds-aurora</a>
- Creates RDS Aurora cluster resources on AWS (verified module).</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-rds-proxy">terraform-aws-rds-proxy</a>
- Creates AWS RDS Proxy resources on AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-rds">terraform-aws-rds</a>
- Creates RDS resources on AWS (verified module).</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-redshift">terraform-aws-redshift</a>
- Creates Redshift resources on AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-route53">terraform-aws-route53</a>
- Creates Route53 resources on AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-s3-bucket">terraform-aws-s3-bucket</a>
- Creates S3 bucket resources on AWS.</li>
<li><a
href="https://github.com/nozaq/terraform-aws-secure-baseline">terraform-aws-secure-baseline</a>
- Set up your AWS account with the secure baseline configuration based
on CIS Amazon Web Services Foundations.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-security-group">terraform-aws-security-group</a>
- Creates EC2-VPC security groups on AWS (verified module).</li>
<li><a
href="https://github.com/joshuamkite/terraform-aws-ssh-bastion-service">terraform-aws-ssh-bastion-service</a>
- Terraform plan to deploy ssh bastion as a stateless service on
AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-transit-gateway">terraform-aws-transit-gateway</a>
- Creates Transit Gateway resources on AWS.</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-vpc">terraform-aws-vpc</a>
- Creates VPC resources on AWS (verified and very popular module).</li>
<li><a
href="https://github.com/terraform-aws-modules/terraform-aws-vpn-gateway">terraform-aws-vpn-gateway</a>
- Creates VPN gateway resources on AWS.</li>
<li><a
href="https://github.com/kjanshair/terraform-azurerm-aks">terraform-azurerm-aks</a>
- Create AKS resources on Azure.</li>
<li><a
href="https://github.com/ghostinthewires/terraform-azurerm-iis-install">terraform-azurerm-iis</a>
- Install IIS Server on Azure VM instance.</li>
<li><a
href="https://github.com/foreverXZC/terraform-azurerm-mysql">terraform-azurerm-mysql</a>
- Create MySql Database on Azure.</li>
<li><a
href="https://github.com/rahulkhengare/terraform-azurerm-redis">terraform-azurerm-redis</a>
- Create Redis on Azure.</li>
<li><a
href="https://github.com/metadevpro/terraform-azurerm-sqlserver-seed">terraform-azurerm-sqlserver</a>
- Create SQl Server Database on Azure.</li>
<li><a
href="https://github.com/adinhodovic/terraform-cloudflare-maintenance">terraform-cloudflare-maintenance</a>
- Module to create a Maintenance Page using Cloudflare Workers.</li>
<li><a
href="https://registry.terraform.io/modules/terraform-digitalocean-modules/droplet/digitalocean/latest">terraform-digitalocean-droplet</a>
- Terraform module for managing DigitalOcean Droplets and related
resources.</li>
<li><a
href="https://github.com/shuaibiyy/terraform-ecs-jenkins">terraform-ecs-jenkins</a>
- Provisions Jenkins on AWS ECS using Terraform.</li>
<li><a
href="https://github.com/bschaatsbergen/terraform-gce-atlantis">terraform-gce-atlantis</a>
- Creates Terraform configurations for running <a
href="https://runatlantis.io">Atlantis</a> on Google Compute
Engine.</li>
<li><a
href="https://github.com/terraform-google-modules/terraform-google-project-factory">terraform-google-project-factory</a>
- Opinionated Google Cloud Platform project creation and configuration
with Shared VPC, IAM, APIs, etc.</li>
<li><a
href="https://github.com/kbst/terraform-kubestack">terraform-kubestack</a>
- 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.</li>
<li><a
href="https://registry.terraform.io/modules/linode/k8s/linode/latest">terraform-linode-k8s</a>
- Installs Kubernetes on Linode Instances.</li>
<li><a
href="https://github.com/nix-community/terraform-nixos">terraform-nixos</a>
- A set of Terraform modules that are designed to deploy NixOS.</li>
<li><a
href="https://github.com/sjevs/terraform-static-website-s3-cloudfront">terraform-static-website-s3-cloudfront</a>
- Creates static websites on AWS S3 &amp; Cloudfront based on
variables.</li>
<li><a
href="https://github.com/terraform-community-modules/tf_aws_bastion_s3_keys">tf_aws_bastion_s3_keys</a>
- Creates bastion hosts on AWS EC2.</li>
<li><a href="https://github.com/poseidon/typhoon">typhoon</a> - Minimal
and free Kubernetes distribution with Terraform.</li>
</ul>
<h2 id="self-hosted-registries">Self-Hosted Registries</h2>
<ul>
<li><a href="https://github.com/erikvanbrakel/anthology">anthology</a> -
Private Terraform registry implementation as an alternative to the
official registry.</li>
<li><a
href="https://github.com/boring-registry/boring-registry">boring-registry</a>
- Private Terraform Module/Provider Registry with API key authentication
and blob storage support</li>
<li><a href="https://github.com/outsideris/citizen">citizen</a> -
Private Terraform Module/Provider Registry</li>
<li><a
href="https://github.com/nrkno/terraform-registry">nrkno/terraform-registry</a>
- A private Terraform registry with modular store backends.</li>
<li><a href="https://github.com/devoteamgcloud/petra">petra</a> -
Private Terraform Registry Manager</li>
<li><a
href="https://github.com/philips-labs/terraform-registry">philips-labs/terraform-registry</a>
- Terraform registry to serve arbitrary Terraform provider releases
hosted on Github</li>
<li><a href="https://github.com/PacoVK/tapir">tapir</a> - Private
Terraform Registry.</li>
<li><a
href="https://github.com/apparentlymart/terraform-simple-registry">terraform-simple-registry</a>
- Simple implementation of the Terraform registry protocols.</li>
<li><a href="https://github.com/matthewjohn/terrareg">Terrareg</a> -
Terraform module registry.</li>
<li><a href="https://github.com/veepee-oss/terustry">terustry</a> - Open
Source terraform provider registry acting as a proxy for gitlab or
github releases.</li>
<li><a href="https://github.com/terralist/terralist">terralist</a> -
Terraform Private Registry for modules and providers manageable from a
REST API.</li>
</ul>
<h2 id="managed-registries">Managed Registries</h2>
<ul>
<li><a
href="https://help.cloudsmith.io/docs/terraform-modules-repository">cloudsmith</a>
- Managed package hoster for internal and external clients.
:heavy_dollar_sign:</li>
</ul>
<h2 id="providers">Providers</h2>
<h3 id="hashicorp-supported-providers">Hashicorp supported
providers</h3>
<ul>
<li><a
href="https://github.com/hashicorp/terraform-provider-aws">terraform-provider-aws</a>
- Provider for Amazon Web Services.</li>
<li><a
href="https://github.com/hashicorp/terraform-provider-azurerm">terraform-provider-azurerm</a>
- Provider for Azure.</li>
<li><a
href="https://github.com/hashicorp/terraform-provider-docker">terraform-provider-docker</a>
- Provider for Docker. :skull:</li>
<li><a
href="https://github.com/hashicorp/terraform-provider-google">terraform-provider-google</a>
- Provider for Google Cloud Platform.</li>
<li><a
href="https://github.com/hashicorp/terraform-provider-helm">terraform-provider-helm</a>
- Provider for Helm.</li>
<li><a
href="https://github.com/hashicorp/terraform-provider-kubernetes">terraform-provider-kubernetes</a>
- Provider for Kubernetes.</li>
<li><a
href="https://github.com/hashicorp/terraform-provider-vsphere">terraform-provider-vsphere</a>
- Provider for VMware vSphere.</li>
</ul>
<h3 id="vendor-supported-providers">Vendor supported providers</h3>
<ul>
<li><a
href="https://github.com/aliyun/terraform-provider-alicloud">terraform-provider-alicloud</a>
- Provider for Alibaba Cloud.</li>
<li><a
href="https://github.com/jfrog/terraform-provider-artifactory">terraform-provider-artifactory</a>
- Provider for <a href="https://jfrog.com/artifactory/">JFrog
Artifactory</a>.</li>
<li><a
href="https://github.com/ariga/terraform-provider-atlas">terraform-provider-atlas</a>
- Provider for <a href="https://atlasgo.io/">Atlas</a>.</li>
<li><a
href="https://github.com/Azure/terraform-provider-azapi">terraform-provider-azapi</a>
- Provider for Azure Resource Manager Rest API</li>
<li><a
href="https://github.com/microsoft/terraform-provider-azuredevops">terraform-provider-azuredevops</a>
- Provider for Azure DevOps (VSTS).</li>
<li><a
href="https://github.com/buildkite/terraform-provider-buildkite">terraform-provider-buildkite</a>
- Provider for Buildkite.</li>
<li><a
href="https://github.com/checkly/terraform-provider-checkly">terraform-provider-checkly</a>
- Manage <a href="https://www.checklyhq.com">Checkly</a> resources for
API &amp; E2E monitoring.</li>
<li><a
href="https://github.com/coder/terraform-provider-coder">terraform-provider-coder</a>
- Provider for <a href="https://coder.com">Coder</a></li>
<li><a
href="https://github.com/confluentinc/terraform-provider-confluent">terraform-provider-confluent</a>
- Provider for Confluent.</li>
<li><a
href="https://github.com/DataDog/terraform-provider-datadog">terraform-provider-datadog</a>
- Provider for Datadog.</li>
<li><a
href="https://github.com/digitalocean/terraform-provider-digitalocean">terraform-provider-digitalocean</a>
- Provider for DigitalOcean.</li>
<li><a
href="https://github.com/nat-henderson/terraform-provider-dominos">terraform-provider-dominos</a>
- Provider for Dominos Pizza.</li>
<li><a
href="https://github.com/elastic/terraform-provider-elasticstack">terraform-provider-elasticstack</a>
- Provider for Elasticsearch and Kibana.</li>
<li><a
href="https://github.com/env0/terraform-provider-env0">terraform-provider-env0</a>
- Provider for <a href="https://www.env0.com/">env0</a></li>
<li><a
href="https://github.com/integrations/terraform-provider-github">terraform-provider-github</a>
- Provider for GitHub.</li>
<li><a
href="https://github.com/gitlabhq/terraform-provider-gitlab">terraform-provider-gitlab</a>
- Provider for GitLab.</li>
<li><a
href="https://github.com/sullivtr/terraform-provider-graphql">terraform-provider-graphql</a>
- Provider for GraphQL queries and mutations.</li>
<li><a
href="https://github.com/hetznercloud/terraform-provider-hcloud">terraform-provider-hcloud</a>
- Provider for Hetzner Cloud.</li>
<li><a
href="https://github.com/kristofferahl/terraform-provider-healthchecksio">terraform-provider-healthchecksio</a>
- Provider to manage healthchecks.io resources.</li>
<li><a
href="https://github.com/heroku/terraform-provider-heroku">terraform-provider-heroku</a>
- Provider for Heroku.</li>
<li><a
href="https://github.com/IBM-Cloud/terraform-provider-ibm">terraform-provider-ibm</a>
- Provider for IBM Cloud.</li>
<li><a
href="https://github.com/iterative/terraform-provider-iterative">terraform-provider-iterative</a>
- Terraform plugin built with machine learning in mind.</li>
<li><a
href="https://github.com/banzaicloud/terraform-provider-k8s">terraform-provider-k8s</a>
- Simple Kubernetes Provider, works with any manifest.</li>
<li><a
href="https://github.com/mrparkers/terraform-provider-keycloak">terraform-provider-keycloak</a>
- Provider to manage the settings of your <a
href="https://www.keycloak.org/">Keycloak</a> identity provider
server.</li>
<li><a
href="https://github.com/btobolaski/terraform-provider-linode">terraform-provider-linode</a>
- Provider for Linode.</li>
<li><a
href="https://github.com/terraform-provider-openstack/terraform-provider-openstack">terraform-provider-openstack</a>
- Plugin for OpenStack.</li>
<li><a
href="https://github.com/PaloAltoNetworks/terraform-provider-panos">terraform-provider-panos</a>
- Provider for <a
href="https://www.paloaltonetworks.com/network-security">Palo Alto
Networks next-generation firewalls</a>.</li>
<li><a
href="https://github.com/russellcardullo/terraform-provider-pingdom">terraform-provider-pingdom</a>
- Provider to manage Pingdom resources. :skull:</li>
<li><a
href="https://github.com/rancher/terraform-provider-rancher2">terraform-provider-rancher2</a>
- Provider for Rancher v2.</li>
<li><a
href="https://github.com/Scalr/terraform-provider-scalr">terraform-provider-scalr</a>
- Provider for <a href="https://www.scalr.com/">Scalr</a></li>
<li><a
href="https://github.com/secrethub/terraform-provider-secrethub">terraform-provider-secrethub</a>
- Provider for SecretHub. :skull:</li>
<li><a
href="https://github.com/signalsciences/terraform-provider-sigsci">terraform-provider-sigsci</a>
- Provider for Signal Sciences.</li>
<li><a
href="https://github.com/Snowflake-Labs/terraform-provider-snowflake">terraform-provider-snowflake</a>
- Provider for Snowflake data warehouse.</li>
<li><a
href="https://github.com/armory-io/terraform-provider-spinnaker">terraform-provider-spinnaker</a>
- Provider for <a href="https://www.spinnaker.io/">Spinnaker</a>.</li>
<li><a
href="https://github.com/spotinst/terraform-provider-spotinst">terraform-provider-spotinst</a>
- Provider for spotinst.</li>
<li><a
href="https://github.com/franckverrot/terraform-provider-stripe">terraform-provider-stripe</a>
- Provider for Stripe.</li>
<li><a
href="https://github.com/ucloud/terraform-provider-ucloud">terraform-provider-ucloud</a>
- Provider to manage UCloud resources.</li>
<li><a
href="https://github.com/louy/terraform-provider-uptimerobot">terraform-provider-uptimerobot</a>
- Provider to manage uptimerobot resources.</li>
<li><a
href="https://github.com/sumup-oss/terraform-provider-vaulted">terraform-provider-vaulted</a>
- Encrypted HashiCorp Vault secrets via Terraform that can be stored in
SCM such as Git.</li>
</ul>
<h3 id="community-providers">Community providers</h3>
<ul>
<li><a
href="https://github.com/kreuzwerker/terraform-provider-docker">terraform-provider-docker</a>
- Terraform Docker provider.</li>
<li><a
href="https://github.com/aminueza/terraform-provider-minio">terraform-provider-minio</a>
- Terraform provider for managing MinIO S3 buckets and IAM Users.</li>
<li><a
href="https://github.com/Telmate/terraform-provider-proxmox">terraform-provider-proxmox</a>
- Terraform Proxmox provider.</li>
<li><a
href="https://github.com/devops-rob/terraform-provider-terracurl">terraform-provider-terracurl</a>
- Provider to make managed and unmanaged API calls to your target
endpoint.</li>
<li><a
href="https://github.com/julienlevasseur/terraform-provider-uname">terraform-provider-uname</a>
- Uname Provider for Terraform.</li>
<li><a
href="https://github.com/pseudo-dynamic/terraform-provider-value">terraform-provider-value</a>
- Value Provider for Terraform.</li>
</ul>
<h2 id="testing">Testing</h2>
<ul>
<li><a href="https://github.com/xchapter7x/clarity">clarity</a> - A
declarative test framework for Terraform for unit testing. :skull:</li>
<li><a
href="https://github.com/newcontext-oss/kitchen-terraform">kitchen-terraform</a>
- 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:</li>
<li><a
href="https://github.com/bsnape/rspec-terraform">rspec-terraform</a> -
RSpec tests for your Terraform modules. :skull:</li>
<li><a
href="https://github.com/elmundio87/terraform_validate">terraform_validate</a>
- Assists in the enforcement of user-defined standards in Terraform.
:skull:</li>
<li><a
href="https://github.com/terraform-compliance/cli">terraform-compliance</a>
- BDD Testing for Terraform Files.</li>
<li><a href="https://github.com/gruntwork-io/terratest">terratest</a> -
Terratest is a Go library that makes it easier to write automated tests
for your infrastructure code.</li>
</ul>
<h2 id="tools">Tools</h2>
<ul>
<li><a href="https://github.com/gofireflyio/aiac">AIaC</a> - Artificial
Intelligence Infrastructure-as-Code Generator</li>
<li><a href="https://github.com/bridgecrewio/AirIAM">AirIAM</a> - AirIAM
is a tool for AWS IAM to least privilege Terraform execution
framework.</li>
<li><a href="https://www.argonaut.dev/">Argonaut</a> - Deploy apps and
infrastructure on your cloud in minutes. Autogenerate Terraform modules,
customize configurations through PRs. Support for app deployments on
Kubernetes and Lambda environments.</li>
<li><a href="https://github.com/asdf-community/asdf-hashicorp">asdf</a>
- HashiCorp plugin for the <a
href="https://github.com/asdf-vm/asdf">asdf</a> version manager</li>
<li><a href="https://github.com/uber/astro/">astro</a> - Astro is a tool
for managing multiple Terraform executions as a single command.
:ghost:</li>
<li><a href="https://github.com/runatlantis/atlantis">atlantis</a> -
Unified workflow for collaborating on Terraform through GitHub.</li>
<li><a href="https://github.com/cloudposse/atmos">atmos</a> - A
universal tool that converts deep merged YAML to module inputs.
:alien:</li>
<li><a href="https://github.com/aws-samples/aws2tf">aws2tf</a> -
automates the importing of existing AWS resources into Terraform and
outputs the Terraform HCL code.</li>
<li><a href="https://github.com/Azure/aztfexport">aztfexport</a> - A
tool to bring existing Azure resources under Terraforms
management.</li>
<li><a href="https://oguzhan-yilmaz.github.io/balcony/">balcony</a> -
CLI tool for easy AWS API reads. Also generates Terraform import-blocks,
and actual Terraform Resource code.</li>
<li><a href="https://github.com/28mm/blast-radius">blast radius</a> -
Interactive visualizations of Terraform dependency graphs. :skull:</li>
<li><a href="https://padok-team.github.io/burrito/">burrito</a> -
Burrito is a TACoS (Terraform Automation Collaboration Software)
Kubernetes Operator.</li>
<li><a
href="https://github.com/cloudflare/cf-terraforming">cf-terraforming</a>
A command line utility to facilitate terraforming your existing
Cloudflare resources.</li>
<li><a href="https://github.com/rogerwelin/cfnctl">cfnctl</a> - Cfnctl
brings the Terraform cli experience to AWS Cloudformation.</li>
<li><a href="https://github.com/bridgecrewio/checkov/">Checkov</a> -
Terraform static analysis tool for terraform&gt;=0.12</li>
<li><a href="https://coder.com/">Coder</a> - Coder provisions software
development environments on your infrastructure via Terraform.</li>
<li><a
href="https://github.com/coretech/terrafile">coretech/terrafile</a> -
Systematically manage external modules from Github for use in Terraform
(written in Go). :skull:</li>
<li><a href="https://github.com/snyk/driftctl">driftctl</a> - Detect,
track, and alert on infrastructure drift :skull:</li>
<li><a href="https://github.com/dxw/terrafile">dxw/terrafile</a> -
Systematically manage external modules from Github for use in Terraform
(written in Ruby).</li>
<li><a href="https://github.com/ketchoop/flora">flora</a> - Terraform
version manager.</li>
<li><a href="https://github.com/chanzuckerberg/fogg">fogg</a> - A tool
for eliminating toil in managing terraform repositories.</li>
<li><a href="https://github.com/iann0036/former2">former2</a> - Generate
terraform configuration from your existing resources within your AWS
account.</li>
<li><a
href="https://github.com/paololazzari/fuzzy-terraform-rm">fuzzy-terraform-rm</a>
- A fuzzy-finder command-line tool for removing resources from terraform
state.</li>
<li><a href="https://github.com/gaia-app/gaia">gaia</a> - Gaia is a
Terraform 🌍 UI for your modules, and self-service infrastructure 👨‍💻.
:skull:</li>
<li><a
href="https://github.com/hatchet-dev/hatchet-v1-archived">hatchet</a> -
An all-in-one Terraform management tool. :skull:</li>
<li><a href="https://github.com/tmccombs/hcl2json">hcl2json</a> -
Convert hcl2 to json.</li>
<li><a href="https://github.com/magodo/hcldump">hcldump</a> - Dump the
HCL (v2) abstract syntax tree.</li>
<li><a href="https://github.com/mercari/hcledit">hcledit</a> - Go
package to edit HCL configuration</li>
<li><a href="https://github.com/minamijoyo/hcledit">hcledit</a> - A
command line editor for HCL.</li>
<li><a href="https://github.com/magodo/hclgrep">hclgrep</a> - Syntax
based grep for HCL(v2).</li>
<li><a href="https://github.com/miller-time/hq">hq</a> - command-line
HCL processor</li>
<li><a
href="https://github.com/flosell/iam-policy-json-to-terraform">iam-policy-json-to-terraform</a>
- Small tool to convert an IAM Policy in JSON format into a Terraform
aws_iam_policy_document</li>
<li><a href="https://github.com/infracost/infracost">Infracost</a> -
Cloud cost estimates for Terraform in your CLI and pull requests.</li>
<li><a href="https://github.com/cycloidio/inframap">inframap</a> - Read
your tfstate or HCL to generate a graph specific for each provider,
showing only the resources that are most important/relevant.</li>
<li><a href="https://github.com/kvz/json2hcl">json2hcl</a> - Convert
JSON to HCL and vice versa. :ghost:</li>
<li><a href="https://github.com/sl1pm4t/k2tf">k2tf</a> - Kubernetes YAML
to Terraform HCL converter.</li>
<li><a href="https://github.com/Checkmarx/kics">KICS</a> - 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.</li>
<li><a href="https://github.com/briefercloud/layerform">layerform</a> -
Layerform helps engineers create reusable environment stacks using plain
.tf files. Ideal for multiple “staging” environments. :skull:</li>
<li><a href="https://library.tf">library.tf</a> - 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.</li>
<li><a
href="https://github.com/antonbabenko/modules.tf-lambda">modules.tf-lambda</a>
- Infrastructure as code generator from visual diagrams created with <a
href="https://cloudcraft.co/app">Cloudcraft.co</a> to Terraform.</li>
<li><a href="https://github.com/paraterraform/para">para</a> - The
missing 3rd-party plugin manager and a “Swiss army knife” for
Terraform/Terragrunt - just 1 tool to facilitate all workflows.
:skull:</li>
<li><a href="https://github.com/jamesWoolfenden/pike">pike</a> - Pike
calculates the permissions or IAM policy required to build your
Terraform.</li>
<li><a href="https://github.com/magodo/pipeform">pipeform</a> -
Terraform runtime TUI</li>
<li><a href="https://www.pluralith.com/">pluralith</a> - Terraform state
visualization and automated generation of infrastructure documentation.
:heavy_dollar_sign:</li>
<li><a
href="https://github.com/antonbabenko/pre-commit-terraform">pre-commit-terraform</a>
- pre-commit git hooks to take care of Terraform configurations
(auto-format, validate, update docs).</li>
<li><a href="https://github.com/raymondbutcher/pretf">pretf</a> -
drop-in Terraform wrapper that generates Terraform configuration with
Python. See <a href="https://pretf.readthedocs.io/en/latest/">pretf
documentation</a> :skull:</li>
<li><a
href="https://github.com/cloudandthings/terraform-pretty-plan">prettyplan
for TF 0.12+</a> - Prettyplan for TF 0.12+ (<a
href="https://cloudandthings.github.io/terraform-pretty-plan/">available
online here</a>) is a small tool to help you view large Terraform plans
with ease. :ghost:</li>
<li><a href="https://github.com/chrislewisdev/prettyplan">prettyplan</a>
- Prettyplan (<a
href="https://chrislewisdev.github.io/prettyplan/">available online
here</a>) is a small tool to help you view large Terraform plans with
ease. :ghost:</li>
<li><a href="https://github.com/leg100/pug">pug</a> - The terminal user
interface for terraform power users.</li>
<li><a
href="https://github.com/cloud-custodian/pytest-terraform">pytest-terraform</a>
- pytest terraform plugin with fixtures and offline replay support.</li>
<li><a
href="https://github.com/claranet/python-terrafile">python-terrafile</a>
- Systematically manage external modules from Github for use in
Terraform.</li>
<li><a href="https://github.com/fugue/regula">regula</a> - Evaluates
Terraform infrastructure-as-code for potential AWS, Azure, and Google
Cloud security misconfigurations and compliance violations prior to
deployment.</li>
<li><a
href="https://github.com/SpotOnInc/renovate-config">renovate-config</a>
- Sharable Config Presets for Renovatebot, especially useful for DevOps
folks.</li>
<li><a href="https://github.com/im2nguyen/rover">rover</a> - Interactive
Terraform state and configuration explorer.</li>
<li><a
href="https://github.com/infrablocks/ruby_terraform">ruby-terraform</a>
- Simple Ruby wrapper for invoking terraform commands.</li>
<li><a href="https://github.com/JamesWoolfenden/sato">sato</a> - Sato
helps you convert your legacy Cloudformation into Terraform.</li>
<li><a href="https://github.com/dmlittle/scenery">scenery</a> - Another
Terraform plan output prettifier. :ghost: :skull:</li>
<li><a
href="https://github.com/YakDriver/scratchrelaxtv">scratchrelaxtv</a> -
Simple Python tool to help with module development - extract vars from
<code>main.tf</code> to generate <code>variables.tf</code> and make
module usage stub from <code>variables.tf</code>.</li>
<li><a href="https://serverless.tf/">serverless.tf - Doing serverless
with Terraform</a> - serverless.tf is an opinionated open-source
framework for developing, building, deploying, and securing serverless
applications and infrastructures on AWS using Terraform. <a
href="https://github.com/antonbabenko/serverless.tf">Read more</a>.</li>
<li><a href="https://github.com/flatt-security/shisho">Shisho</a> -
Lightweight static analyzer for Terraform.</li>
<li><a href="https://www.speakeasyapi.dev/">Speakeasy</a> - Generate a
terraform provider from an OpenAPI specification.</li>
<li><a href="https://github.com/cisco-open/stacks">stacks</a> - Stacks,
the Terraform code pre-processor</li>
<li><a
href="https://www.styra.com/terraform-cloud-config-management-with-styra-das-and-open-policy-agent">Styra
Declarative Authorization Service (DAS)</a> - Provides a managed <a
href="https://www.openpolicyagent.org">Open Policy Agent (OPA)</a>
platform for Application and Infrastructure use cases, including
Terraform, Terraform Cloud, and Kubernetes. Enforce policy guardrails
during development, in CI/CD pipelines, and at deploy time. Styra DAS
Free provides multiple systems and users, policy impact analysis,
decision logging and replay, and access to Styras Terraform policy
library.</li>
<li><a
href="https://github.com/Thomvaill/tads-boilerplate">tads-boilerplate</a>
- The power of Ansible and Terraform + the simplicity of Docker Swarm =
Infrastructure as Code and DevOps best practices.</li>
<li><a href="https://github.com/avinor/tau">tau</a> - Tau is a thin
wrapper on top of terraform to manage multiple deployments,
dependencies, and secrets. :skull:</li>
<li><a href="https://github.com/tofuutils/tenv">tenv</a> -
OpenTofu/Terraform/Terragrunt version manager.</li>
<li><a href="https://github.com/camptocamp/terraboard">terraboard</a> -
Web dashboard to inspect Terraform States.</li>
<li><a href="https://github.com/MastodonC/terraboot">terraboot</a> - DSL
to generate a terraform configuration and run it.</li>
<li><a href="https://github.com/cycloidio/terracognita">terracognita</a>
- Reads from existing Cloud Providers (reverse Terraform) and generates
your infrastructure as code on Terraform configuration.</li>
<li><a href="https://github.com/cycloidio/terracost">terracost</a> -
Cloud cost estimation for Terraform in your CLI.</li>
<li><a href="https://elementtech.github.io/terracove/">terracove</a> -
Recursively test a directory tree for Terraform diffs and coverage.</li>
<li><a href="https://github.com/derBroBro/TerraDepot">TerraDepot</a>
Terraform state repository, based on the default http remote backend.
Allows the central administration of tfstates on AWS S3.</li>
<li><a href="https://github.com/jckuester/terradozer">terradozer</a> -
Terraform destroy without configuration files.</li>
<li><a href="https://github.com/jaceq/terraeasy">terraeasy</a> - Easy
Terraform wrapper</li>
<li><a href="https://terraforce.henrybravo.nl">TerraForce</a> - A policy
enforcement tool for Terraform that ensures consistency and compliance
through lifecycle policy checks, flexible policy definitions, and CI/CD
integration.</li>
<li><a
href="https://github.com/cloudandthings/terraform-aws-clickops-notifier">terraform-aws-clickops-notifier</a>
- Get notified when actions are taken in the AWS Console.</li>
<li><a
href="https://github.com/hashicorp/terraform/tree/main/tools/terraform-bundle">terraform-bundle</a>
- Easily builds bundles containing a Terraform binary as well as
provider binaries. Useful for CI and air-gapped Terraform
Enterprise.</li>
<li><a
href="https://github.com/hashicorp/terraform-cdk">terraform-cdk</a> -
CDK (Cloud Development Kit) for Terraform allows developers to use
familiar programming languages to define cloud infrastructure and
provision it through HashiCorp Terraform.</li>
<li><a
href="https://github.com/sylwit/terraform-cleaner">terraform-cleaner</a>
- Tiny utility which detects unused variables in your terraform
modules.</li>
<li><a
href="https://github.com/oulman/terraform-credentials-vault">terraform-credentials-vault</a>
- A Terraform “credentials helper” plugin that allows providing
credentials for Terraform-native services (private module registries,
Terraform Cloud, etc) via environment variables.</li>
<li><a
href="https://github.com/contentful-labs/terraform-diff">terraform-diff</a>
- Always know where you need to run Terraform plan &amp; apply!</li>
<li><a
href="https://github.com/terraform-docs/terraform-docs">terraform-docs</a>
- Quick utility to generate docs from terraform modules.</li>
<li><a
href="https://github.com/pcasteran/terraform-graph-beautifier">terraform-graph-beautifier</a>
- Command line tool allowing to convert the barely usable output of the
terraform graph command to something more meaningful and
explanatory.</li>
<li><a
href="https://github.com/awslabs/terraform-iam-policy-validator">terraform-iam-policy-validator</a>
- CLI validates AWS IAM Policies in a Terraform template against AWS IAM
best practices.</li>
<li><a
href="https://github.com/coinbase/terraform-landscape">terraform-landscape</a>
- <em>(only 0.11 and earlier)</em> Improve Terraforms plan output to be
easier to read and understand.</li>
<li><a
href="https://github.com/GalleyBytes/terraform-operator">terraform-operator</a>
- A Kubernetes CRD to handle Terraform operations.</li>
<li><a
href="https://github.com/lifeomic/terraform-plan-parser">terraform-plan-parser</a>
- Command line utility and JavaScript API for parsing stdout from
<code>terraform plan</code> and converting it to JSON. :ghost:</li>
<li><a
href="https://github.com/shuaibiyy/terraform-provisioner">terraform-provisioner</a>
- Tool for managing multiple provisions of the same Terraform
scripts.</li>
<li><a
href="https://github.com/gina-alaska/terraform-rake-tasks">terraform-rake-tasks</a>
- Shared Rake tasks for managing terraform plans.</li>
<li><a
href="https://github.com/paololazzari/terraform-repl">terraform-repl</a>
- A terraform console wrapper for a better interactive console
experience.</li>
<li><a
href="https://github.com/hieven/terraform-visual">Terraform-Visual</a> -
A simple but powerful tool to visualize Terraform plan.</li>
<li><a href="https://github.com/mantl/terraform.py">terraform.py</a> -
Ansible dynamic inventory script for parsing Terraform state files.
:skull:</li>
<li><a
href="https://github.com/GoogleCloudPlatform/terraformer">terraformer</a>
- CLI tool to generate terraform files from existing infrastructure.
Infrastructure to Code. Supported many providers.</li>
<li><a href="https://github.com/dtan4/terraforming">terraforming</a> -
Export existing AWS resources to Terraform style (tf, tfstate). Similar
to <code>terraformer</code>. :skull:</li>
<li><a href="https://github.com/naorlivne/terraformize">terraformize</a>
- ApplyTerraform modules via a simple REST API endpoint. :skull:</li>
<li><a href="https://github.com/pwillis-els/terraformsh">terraformsh</a>
- A wrapper in Bash for easier CLI UX and DRY hierarchical configs</li>
<li><a
href="https://github.com/transcend-io/terragrunt-atlantis-config">terragrunt-atlantis-config</a>
- Generate Atlantis config for Terragrunt projects.</li>
<li><a href="https://github.com/gruntwork-io/terragrunt">terragrunt</a>
- 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.</li>
<li><a href="https://www.terrahaxs.com">Terrahaxs</a> - A GitOps
Terraform CI/CD GitHub Application :heavy_dollar_sign:</li>
<li><a href="https://github.com/opencredo/terrahelp">terrahelp</a> -
Command line utility aimed at providing supplementary functionality
which can sometimes prove useful when working with Terraform.</li>
<li><a href="https://github.com/tfxor/terrahub">terrahub</a> - 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:</li>
<li><a href="https://github.com/miltlima/terramagic">terramagic</a> -
Wizard tool for create folders and terraform files automated, written in
Python !</li>
<li><a href="https://github.com/terramate-io/terramate">terramate</a> -
Tool for managing multiple Terraform stacks that comes with support for
change detection and code generation</li>
<li><a href="https://github.com/sirrend/terrap-cli">terrap-cli</a> -
Terrap - a powerful CLI tool that scans your infrastructure and
identifies any required changes.</li>
<li><a href="https://github.com/andrewbaxter/terrars">terrars</a> -
Terrars is a tool for building Terraform stacks in Rust. This is an
alternative to the CDK.</li>
<li><a href="https://github.com/tenable/terrascan">terrascan</a> -
Collection of security and best practice test for static code analysis
of terraform templates</li>
<li><a href="https://github.com/spilliams/terrascope">terrascope</a> -
Build orchestrator for terraform monorepos.</li>
<li><a href="https://isawan.github.io/terrashine/">terrashine</a> -
Terrashine is a terraform provider mirror1 implementation that works by
automatically caching dependencies as providers are requested.</li>
<li><a href="https://terraspace.cloud">terraspace</a> - The Terraform
Framework</li>
<li><a
href="https://github.com/rohinivsenthil/terrastate">terrastate</a> -
Visual Studio Code extension to monitor/deploy/destroy Terraform
resources in your workspace</li>
<li><a href="https://github.com/env0/terratag">terratag</a> - 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.</li>
<li><a
href="https://github.com/hayorov/terraform-init-booster">tf-init-booster</a>
- A Pre-terraform routine that speedups terraform modules download for
bulky blueprints.</li>
<li><a href="https://github.com/datarootsio/tf-profile/">tf-profile</a>
- Profiler for Terraform runs. Generate global stats, resource-level
stats or visualizations.</li>
<li><a href="https://github.com/dineshba/tf-summarize">tf-summarize</a>
- A command-line utility to print the summary of the terraform plan</li>
<li><a href="https://github.com/suzuki-shunsuke/tfaction">tfaction</a> -
GitHub Actions collection for Opinionated Terraform Workflow</li>
<li><a href="https://github.com/busser/tfautomv">tfautomv</a> - Generate
Terraform <code>moved</code> blocks automatically for painless
refactoring</li>
<li><a href="https://github.com/suzuki-shunsuke/tfcmt">tfcmt</a> - CLI
to notify the result of plan and apply as Pull Request comment.</li>
<li><a href="https://github.com/minamijoyo/tfedit">tfedit</a> - A
refactoring tool for Terraform.</li>
<li><a href="https://github.com/tfutils/tfenv">tfenv</a> - Terraform
version manager inspired by rbenv.</li>
<li><a href="https://github.com/refl3ction/tfgen">tfgen</a> - Terraform
code generator for consistent codebase and DRY.</li>
<li><a href="https://github.com/flavius-dinu/tfgpt">tfgpt</a> - A CLI
tool that integrates Terraform with OpenAIs GPT-3.5 Turbo to provide
explanations for Terraform commands and concepts.</li>
<li><a href="https://github.com/palantir/tfjson">tfjson</a> - Utility to
read in a Terraform plan file and dump it out in JSON. :skull:</li>
<li><a href="https://github.com/jrhouston/tfk8s">tfk8s</a> - A tool for
converting Kubernetes YAML manifests to Terraform HCL</li>
<li><a href="https://github.com/terraform-linters/tflint">tflint</a> -
Terraform linter for detecting errors that can not be detected by
<code>terraform plan</code></li>
<li><a href="https://github.com/tfmake/tfmake">tfmake</a> - Automating
Terraform with the power of make.</li>
<li><a href="https://github.com/cloudposse-archives/tfmask">tfmask</a> -
Terraform utility to mask select output from <code>terraform plan</code>
and <code>terraform apply</code></li>
<li><a href="https://github.com/minamijoyo/tfmigrate">tfmigrate</a> - A
Terraform state migration tool for GitOps.</li>
<li><a href="https://github.com/tfmigrator/cli">tfmigrator</a> - Go
library and CLI to migrate Terraform Configuration and State</li>
<li><a href="https://github.com/suzuki-shunsuke/tfmv">tfmv</a> - Rename
Terraform resources and generate moved blocks</li>
<li><a href="https://github.com/nwiizo/tfocus">tfocus</a> - 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.</li>
<li><a
href="https://github.com/suzuki-shunsuke/tfprovidercheck">tfprovidercheck</a>
- CLI to prevent malicious Terraform Providers from being executed</li>
<li><a href="https://github.com/bflad/tfproviderlint">tfproviderlint</a>
- Terraform Provider Lint Tool.</li>
<li><a href="https://github.com/ysoftwareab/tfrepl">tfrepl</a> - A
Terraform REPL, giving you a full shell experience. Readline based. No
dependencies. Save config changes. History.</li>
<li><a href="https://github.com/breml/tfreveal">tfreveal</a> - A
Terraform utility to show Terraform plans with all the secret
(sensitive) values revealed.</li>
<li><a href="https://github.com/tfutils/tfscaffold">tfscaffold</a> -
Framework for controlling multi-environment multi-component
terraform-managed AWS infrastructure.</li>
<li><a href="https://github.com/minamijoyo/tfschema">tfschema</a> -
Schema inspector for Terraform providers.</li>
<li><a href="https://github.com/aquasecurity/tfsec">tfsec</a> -
Terraform static analysis tool that supports terraform &lt;0.12 &amp;
&gt;=0.12 &amp; directly integrates with HCL parser for better
results.</li>
<li><a href="https://github.com/AlexNabokikh/tfsort">tfsort</a> - CLI
utility to sort Terraform variables and outputs.</li>
<li><a href="https://github.com/future-architect/tftarget">tftarget</a>
- CLI Tool to do <code>terraform xxx -target={...}</code>
interactively.</li>
<li><a href="https://github.com/busser/tftree">tftree</a> - Display your
Terraform module call stack in your terminal.</li>
<li><a href="https://github.com/idoavrah/terraform-tui">tftui</a> - A
textual user interface for Terraform state.</li>
<li><a href="https://github.com/minamijoyo/tfupdate">tfupdate</a> -
Update version constraints in your Terraform configurations.</li>
<li><a href="https://github.com/shihanng/tfvar">tfvar</a> - tfvar scans
your Terraform configurations or modules and extracts the variables into
formats of your choice (tfvar, environment variables, etc.) for
editing.</li>
<li><a href="https://github.com/oulman/tfvaultenv">tfvaultenv</a> -
tfvaultenv reads secrets from HashiCorp Vault and outputs environment
variables for various Terraform providers with those secrets.</li>
<li><a href="https://github.com/manheim/tfwrapper">tfwrapper</a> -
Rubygem providing rake tasks for running Hashicorp Terraform
sanely.</li>
<li><a href="https://github.com/nwiizo/tfmcp">tfmcp</a> - 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.</li>
<li><a href="https://github.com/coveooss/tgf">tgf</a> - Terragrunt
frontend for executing Terragrunt/Terraform through Docker.</li>
<li><a href="https://github.com/threatcl/threatcl">threatcl</a> -
Documenting your Threat Models with HCL</li>
<li><a href="https://github.com/tofuutils/tofuenv">tofuenv</a> -
OpenTofu version manager inspired by tfenv</li>
<li><a href="https://github.com/Madh93/tpm">tpm</a> - A package manager
for Terraform providers.</li>
<li><a href="https://github.com/ivanilves/travelgrunt">travelgrunt</a> -
cd inside [mono]repos without fatigue!</li>
<li><a href="https://github.com/gofireflyio/validiac">validIaC</a> -
ValidIaC combines the best open-source tools to help ensure Terraform
best practices, hygiene &amp; security.</li>
<li><a href="https://github.com/devopsmakers/xterrafile">xterrafile</a>
Systematically manage external modules from the module registry, git, or
local directories for use in Terraform (written in Go). :skull:</li>
<li><a href="https://github.com/sclevine/yj">yj</a> - CLI - Convert
between YAML, TOML, JSON, and HCL. Preserves map order.</li>
<li><a href="https://github.com/bridgecrewio/yor">yor</a> -
Automatically tag and trace infrastructure as code frameworks
(Terraform, Cloudformation, and Serverless).</li>
</ul>
<h3 id="ci">CI</h3>
<ul>
<li><a
href="https://github.com/hashicorp/setup-terraform">setup-terraform</a>
- Sets up Terraform CLI in your GitHub Actions workflow.</li>
<li><a
href="https://github.com/cds-snc/terraform-plan">terraform-plan</a> -
GitHub Action to run Terraform plan and add a comment with the
changes.</li>
</ul>
<h3 id="ide">IDE</h3>
<ul>
<li><a
href="https://github.com/adamiBs/vscode-terraform-live-graph">vscode-terraform-live-graph</a>
- Terraform Live Graph Extension for Visual Studio Code is a plugin that
allows you to generate a live Terraform graph as you code.</li>
</ul>
<h2 id="libraries">Libraries</h2>
<ul>
<li><a href="https://github.com/martinohmann/hcl-rs">hcl-rs</a> - HCL
parsing and encoding libraries for rust with serde support</li>
<li><a href="https://github.com/bertramdev/hcl4j">hcl4j</a> - HCL parser
in Java</li>
<li><a href="https://github.com/Yethal/nu_plugin_hcl">nu_plugin_hcl</a>
- HCL parser plugin for <a
href="https://github.com/nushell/nushell">Nushell</a></li>
<li><a href="https://github.com/virtuald/pyhcl">pyhcl</a> - HCL parser
in Python</li>
<li><a
href="https://github.com/amplify-education/python-hcl2/">python-hcl2</a>
- HCL2 parser in Python</li>
<li><a href="https://github.com/winebarrel/rhcl">rhcl</a> - Pure Ruby
HCL parser :skull:</li>
<li><a
href="https://github.com/tree-sitter-grammars/tree-sitter-hcl">tree-sitter-hcl</a>
- HCL grammar for tree-sitter</li>
</ul>
<h2 id="boilerplates">Boilerplates</h2>
<ul>
<li><a href="https://github.com/sudokar/generator-tf-module">Terraform
Generator</a> - Scaffolding for a new terraform module or project with
support of test frameworks (terratest and kitchen-terraform)</li>
<li><a href="https://www.kubestack.com">Terraform GitOps Framework</a> -
Everything you need to build reliable automation for AKS, EKS, and GKE
Kubernetes clusters in one free and open-source framework.</li>
</ul>
<h2 id="self-hosted-terraform-platforms">Self-hosted Terraform
Platforms</h2>
<ul>
<li><a href="https://github.com/clivern/lynx">Lynx</a> - Fast, Secure
and Reliable Terraform Backend. It has a user-friendly dashboard,
project and environment management, state versioning, locking and
snapshots support.</li>
<li><a href="https://github.com/leg100/otf">OTF</a> - Open Terraforming
Framework, an open source alternative to Terraform Enterprise with full
Terraform CLI integration. :skull:</li>
<li><a href="https://docs.terrakube.io">Terrakube</a> - Open Source
alternative to Terraform Enterprise with private registry, remote state,
custom flows, scheduled workspaces, and visual states.</li>
<li><a href="https://digger.dev">Digger</a> - Open Source Alternative to
Terraform Cloud - Run Terraform plan &amp; apply jobs in your CI.</li>
<li><a
href="https://github.com/dragondrop-cloud/cloud-concierge">cloud-concierge</a>
- Open Source, codify unmanaged resources as Terraform, detect drift,
and cloud cost and security analysis, delivered as a Pull Request.</li>
<li><a
href="https://github.com/D10S0VSkY-OSS/Stack-Lifecycle-Deployment">Stack-Lifecycle-Deployment</a>
- OpenSource solution that defines and manages the complete lifecycle of
resources used and provisioned into a cloud.</li>
<li><a href="https://github.com/padok-team/burrito">Burrito</a> - TACoS
Kubernetes Operator - “ArgoCD for Terraform”</li>
<li><a href="https://terrateam.io">Terrateam</a> - Open-source
alternative to Terraform Cloud/Enterprise, GitOps-first with native
GitHub integration and designed for scale, security, and
reliability.</li>
</ul>
<h2 id="managed-terraform-platforms-heavy_dollar_sign">Managed Terraform
Platforms :heavy_dollar_sign:</h2>
<ul>
<li><a href="https://www.controlmonkey.io/">ControlMonkey</a> -
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:</li>
<li><a href="https://www.firefly.ai/">Firefly</a> - Alternative to
Terraform Cloud by leveraging your CI tool. Firefly platform also scans
your cloud to asses the IaC coverage &amp; drift detection.
:heavy_dollar_sign:</li>
<li><a href="https://www.scalr.com/">Scalr</a> - Alternative to
Terraform Enterprise with OPA integration, organizational structure,
custom hooks, native integrations with other DevOps platforms, and
centralized reporting. :heavy_dollar_sign:</li>
<li><a href="https://www.env0.com/">env0</a> - Alternative to Terraform
Cloud/Enterprise with OPA integration, custom flows and Terragrunt
support :heavy_dollar_sign:</li>
<li><a href="https://www.brainboard.co">Brainboard</a> - Visually
Design, Deploy &amp; Manage modern cloud infrastructures starting from
any Cloud Provider - AWS, GCP, Azure :heavy_dollar_sign:</li>
<li><a href="https://spacelift.io/">Spacelift</a> - Alternative to
Terraform Cloud/Enterprise. Collaborative Infrastructure Delivery
Platform for Terraform :heavy_dollar_sign:</li>
</ul>
<h2 id="terraform-enterprise-tooling">Terraform Enterprise Tooling</h2>
<ul>
<li><a
href="https://github.com/skierkowski/terraform-enterprise-cli">terraform-enterprise-cli</a>
- Terraform Enterprise Command Line Interface.</li>
<li><a
href="https://github.com/skierkowski/terraform-enterprise-client">terraform-enterprise-client</a>
- Terraform Enterprise API Ruby Client and Command Line tool.</li>
<li><a
href="https://github.com/silinternational/tfc-ops">terraform-enterprise-migrator</a>
- Script for migrating Terraform Enterprise environments from Legacy to
new version of Terraform Enterprise.</li>
<li><a
href="https://github.com/segment-boneyard/tfe-state-explorer">tfe-state-explorer</a>
- Simple shell for exploring remote terraform enterprise state, with
autocomplete. :skull:</li>
</ul>
<h2 id="videos">Videos</h2>
<ul>
<li><a href="https://bit.ly/terraform-youtube">Your Weekly Dose of
Terraform</a> - YouTube channel with weekly live streams covering
Terraform news, reviews, interviews, Q&amp;A, live coding, and some
hacking with Terraform.</li>
<li><a href="https://www.youtube.com/watch?v=l5k1ai_GBDE">Terraform
explained in 15 mins</a> - Terraform explained in 15 mins.</li>
<li><a href="https://www.youtube.com/watch?v=SLB_c_ayRMo">Terraform
Course</a> - Automate your AWS cloud infrastructure.</li>
<li><a href="https://www.youtube.com/watch?v=LVgP63BkhKQ">How to Build
Reusable, Composable, Battle tested Terraform Modules</a> - 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).</li>
<li><a href="https://www.youtube.com/watch?v=cG7pcksTAnY">Building
Scalable, Repeatable Infrastructure in the Cloud with Terraform</a> -
Demonstrates how Terraform enables the practice of Infrastructure as
Code by deploying TeamCity in AWS using a hosted PostgreSQL.</li>
<li><a href="https://www.youtube.com/watch?v=fo3VX33Zx0c">Creating a
Google Compute Instance with Terraform</a> - Example of creating a
Google Compute Instance with Terraform code.</li>
<li><a
href="https://www.hashicorp.com/resources/creating-terraform-provider-for-anything">Creating
a Terraform Provider for Just About Anything</a> - Learn how to
contribute to a Terraform provider or create your own from this
walkthrough.</li>
<li><a href="https://www.youtube.com/watch?v=wgzgVm7Sqlk">Evolving Your
Infrastructure with Terraform</a> - CTO of OpenCredo provides an
extensive look at using Terraform in the real-world with the help of
some interesting use-cases.</li>
<li><a href="https://www.youtube.com/watch?v=e42A4aBZUkQ">Going
Multi-Cloud with Terraform and Nomad</a>.</li>
<li><a href="https://www.youtube.com/watch?v=2BvpqmFpchI">How to Extend
the Terraform Provider List</a> - In this talk, Paul will walk through
the creation of a terraform provider.</li>
<li><a
href="https://www.infoq.com/presentations/terraform-consul/">Orchestrating
Containers with Terraform and Consul</a> - Mitchell Hashimoto shows how
Terraform can be used to deploy and scale containerized workloads.</li>
<li><a href="https://www.youtube.com/watch?v=CPI6W3LK0-g">Production
ChaosMonkey with Terraform</a> - How DigitalOcean uses Terraform to run
production integration tests.</li>
<li><a href="https://www.youtube.com/watch?v=3JVGSq7QIS0">Running a
Terraform Environment at Scale</a> - Running Terraform at scale with
hundreds of AWS accounts.</li>
<li><a href="https://www.youtube.com/watch?v=vuJ6bjYKUcA">Setup
Continuous Integration for a Terraform module</a> - Example of using CI
with Kitchen-Terraform to test, tag and publish our Terraform module,
which creates a Google Compute Instance.</li>
<li><a href="https://www.youtube.com/watch?v=ar1PF5iDtbg">State of
Terraform Providerland</a> - How Terraform providers work and how to
write one.</li>
<li><a href="https://www.youtube.com/watch?v=RldRDryLiXs">Terraform At
Scale</a> - How Segment uses Terraform.</li>
<li><a href="https://www.youtube.com/watch?v=p2ESyuqPw1A">Terraform w/
Lee Trout</a> - Focuses on development patterns and how to effectively
structure Terraform code.</li>
<li><a href="https://www.youtube.com/watch?v=cHrOXPatFeg">Terraforming
the Composable World</a> - Integrating Terraform with an on-premise bare
metal provisioning.</li>
<li><a href="https://www.youtube.com/watch?v=kiH3-LEveek">Test and
verify a Google Compute Instance with Kitchen-Terraform</a> - Example of
using Kitchen-Terraform to test our Terraform code that creates a Google
Compute.</li>
<li><a href="https://www.youtube.com/watch?v=OH6iDKaXpZs">Untangling
Terraform Through Refactoring</a> - How to refactor your Terraform code
in a careful way with minimum risk.</li>
<li><a href="https://www.youtube.com/watch?v=7xngnjfIlK4">Complete
Terraform Course - From BEGINNER to PRO! (Learn Infrastructure as
Code)</a> - Complete course from beginner to pro, with no cloud provider
focus, with a general approach</li>
</ul>
<h2 id="editor-plugins">Editor Plugins</h2>
<ul>
<li><a href="https://github.com/hcl-emacs/terraform-mode">Emacs
terraform-mode</a></li>
<li><a
href="https://plugins.jetbrains.com/plugin/7808-terraform-and-hcl">Intellij</a></li>
<li><a href="https://github.com/hashicorp/terraform-ls">Terraform-ls</a>
(Terraform Language Server)</li>
<li><a
href="https://github.com/juliosueiras/terraform-lsp">Terraform-lsp</a>
(Language Server Protocol for Terraform)</li>
<li><a href="https://github.com/jvirtanen/vim-hcl">vim-hcl</a> - Syntax
highlighting for HCL</li>
<li><a
href="https://github.com/juliosueiras/vim-terraform-completion">Vim-Terraform-Completion</a></li>
<li><a
href="https://github.com/hashivim/vim-terraform">Vim-Terraform</a></li>
<li><a
href="https://marketplace.visualstudio.com/items?itemName=hashicorp.terraform">VS
Code</a></li>
</ul>
<h2 id="license">License</h2>
<p><a href="https://creativecommons.org/publicdomain/zero/1.0/"><img
src="http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg"
alt="CC0" /></a></p>
<p>To the extent possible under law, Shuaib Yunus has waived all
copyright and related or neighboring rights to this work.</p>
<p><a href="https://github.com/shuaibiyy/awesome-terraform">terraform.md
Github</a></p>