Courses & Tutorials

Awesome Terraform – Massive Collection of Resources

Spread the love

A curated list of resources on HashiCorp’s Terraform.

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.


Official Resources



Tutorials and Blog Posts

Beginner Guides

Writing Custom Providers


Multi-Environment Configuration



Community Modules

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

Private Module Registries

  • anthology – Private Terraform registry implementation as an alternative to the official registry.
  • citizen – Private Terraform Module Registry
  • terraform-simple-registry – Simple implementation of the Terraform registry protocols.



  • 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.
  • rspec-terraform – RSpec tests for your Terraform modules.
  • terraform-compliance – BDD Testing for Terraform Files.
  • terraform_validate – Assists in the enforcement of user-defined standards in Terraform.
  • terratest – Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.


  • AirIAM – AirIAM is a tool for AWS IAM to least privilege Terraform execution framework.
  • astro – Astro is a tool for managing multiple Terraform executions as a single command.
  • atlantis – Unified workflow for collaborating on Terraform through GitHub.
  • blast radius – Interactive visualizations of Terraform dependency graphs.
  • Checkov – Terraform static analysis tool for terraform>=0.12
  • 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.
  • hcledit – A command line editor for HCL.
  • iam-policy-json-to-terraform – Small tool to convert an IAM Policy in JSON format into a Terraform aws_iam_policy_document
  • k2tf – Kubernetes YAML to Terraform HCL converter.
  • json2hcl – Convert JSON to HCL and vice versa.
  • – Infrastructure as code generator – from visual diagrams created with to Terraform. Source code.
  • para – The missing 3rd-party plugin manager and a “swiss army knife” for Terraform/Terragrunt – just 1 tool to facilitate all workflows.
  • pre-commit-terraform – pre-commit git hooks to take care of Terraform configurations (auto-format, validate, update docs).
  • pretf – drop-in Terraform wrapper that generates Terraform configuration with Python. See pretf documentation
  • python-terrafile – Systematically manage external modules from Github for use in Terraform.
  • prettyplan(only 0.11 and earlier) Prettyplan (available online here) is a small tool to help you view large Terraform plans with ease.
  • ruby-terraform – Simple Ruby wrapper for invoking terraform commands.
  • scenery(only 0.11 and earlier) Another Terraform plan output prettifier.
  • scratchrelaxtv – Simple Python tool to help with module development – extract vars from to generate and make module usage stub from
  • – Doing serverless with Terraform – is an opinionated open-source framework for developing, building, deploying, and securing serverless applications and infrastructures on AWS using Terraform. Read more.
  • 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.
  • terraboard – Web dashboard to inspect Terraform States.
  • terraboot – DSL to generate a terraform configuration and run it.
  • TerraDepot Terraform state repository, based on the default http remote backend. Allows the central administration of tfstates on AWS S3.
  • terrafile – Systematically manage external modules from Github for use in Terraform (written in Go).
  • terrafile – Systematically manage external modules from Github for use in Terraform (written in Ruby).
  • terraform-bundle – Easily builds bundles containing a Terraform binary as well as provider binaries. Useful for CI and air-gapped Terraform Enterprise.
  • terraform-docs – Quick utility to generate docs from terraform modules.
  • 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(only 0.11 and earlier) Command line utility and JavaScript API for parsing stdout from terraform plan and converting it to JSON.
  • terraform-provisioner – Tool for managing multiple provisions of the same Terraform scripts.
  • terraform-rake-tasks – Shared Rake tasks for managing terraform plans.
  • – Ansible dynamic inventory script for parsing Terraform state files.
  • 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.
  • Terraform-Visual A simple but powerful tool to visualize Terraform plan.
  • 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, enterprise friendly GUI to show realtime terraform executions, as well as auditing and reporting capabilities for historical terraform runs.
  • terrascan – Collection of security and best practice test for static code analysis of terraform templates
  • terraspace – The Terraform Framework
  • 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.
  • [tfsec] ( – Terraform static analysis tool that supports terraform <0.12 & >=0.12 & directly integrates with HCL parser for better results.
  • tfenv – Terraform version manager inspired by rbenv.
  • tfjson(outdated) Utility to read in a Terraform plan file and dump it out in JSON.
  • tflint – Terraform linter for detecting errors that can not be detected by terraform plan
  • tfmask – Terraform utility to mask select output from terraform plan and terraform apply
  • tfmigrate – A Terraform state migration tool for GitOps.
  • tfscaffold – Framework for controlling multi-environment multi-component terraform-managed AWS infrastructure.
  • tfschema – Schema inspector for Terraform providers.
  • tfsec – Static analysis powered security scanner for your terraform code
  • tfupdate – Update version constraints in your Terraform configurations.
  • tfwrapper – Rubygem providing rake tasks for running Hashicorp Terraform sanely.
  • tgf – Terragrunt frontend for executing Terragrunt/Terraform through Docker.
  • xterrafile Systematically manage external modules from the module registry, git or local directories for use in Terraform (written in Go).


  • pyhcl – HCL parser in Python
  • python-hcl2 – HCL2 parser in Python
  • rhcl – Pure Ruby HCL parser


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

Terraform Enterprise


Editor Plugins

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button