Track Awesome Terraform Updates Daily
Curated list of resources on HashiCorp's Terraform
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 shuaibiyy/awesome-terraform · ⭐ 4.8K · 🏷️ Back-End Development
Nov 06, 2023
Tools / Community providers
- tfprovidercheck (⭐6) - CLI to prevent malicious Terraform Providers from being executed
Oct 20, 2023
Tutorials and Blog Posts / Beginner Guides
- Building a SaaS API? Don't Forget Your Terraform Provider - Why you should write a terraform provider
Tutorials and Blog Posts / Writing 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 Wrap Your Terraform Provider for Pulumi - Making your terraform provider pulumi-ready
Tools / Community providers
- Speakeasy - Generate a terraform provider from an OpenAPI specification.
Aug 31, 2023
Private Registries / Miscellaneous
- nrkno/terraform-registry (⭐57) - A private Terraform registry with modular store backends.
- petra (⭐31) - Private Terraform Registry Manager
- philips-labs/terraform-registry (⭐67) - Terraform registry to serve arbitrary Terraform provider releases hosted on Github
Providers / Community providers
- terraform-provider-docker (⭐470) - Terraform Docker provider.
- terraform-provider-value (⭐14) - Value Provider for Terraform.
Tools / Community providers
- balcony - CLI tool for easy AWS API reads. Also generates Terraform import-blocks, and actual Terraform Resource code.
- burrito - Burrito is a TACoS (Terraform Automation Collaboration Software) Kubernetes Operator.
- cfnctl (⭐129) - Cfnctl brings the Terraform cli experience to AWS Cloudformation.
- coretech/terrafile (⭐137) - Systematically manage external modules from Github for use in Terraform (written in Go).
- dxw/terrafile (⭐2) - Systematically manage external modules from Github for use in Terraform (written in Ruby).
- hatchet - An all-in-one Terraform management tool.
- layerform (⭐1.2k) - Layerform helps engineers create reusable environment stacks using plain .tf files. Ideal for multiple "staging" environments.
- pytest-terraform (⭐50) - pytest terraform plugin with fixtures and offline replay support.
- renovate-config (⭐34) - Sharable Config Presets for Renovatebot, especially useful for DevOps folks.
- stacks (⭐107) - Stacks, the Terraform code pre-processor
- terracove - Recursively test a directory tree for Terraform diffs and coverage.
- terraeasy (⭐32) - Easy Terraform wrapper
- terraform-cleaner (⭐151) - Tiny utility which detects unused variables in your terraform modules.
- terramagic (⭐42) - Wizard tool for create folders and terraform files automated, written in Python !
- terrap-cli (⭐62) - Terrap - a powerful CLI tool that scans your infrastructure and identifies any required changes.
- terrars (⭐68) - Terrars is a tool for building Terraform stacks in Rust. This is an alternative to the CDK.
- terrascope (⭐27) - Build orchestrator for terraform monorepos.
- terrashine - Terrashine is a terraform provider mirror1 implementation that works by automatically caching dependencies as providers are requested.
- tfgen (⭐69) - Terraform code generator for consistent codebase and DRY.
- tfrepl (⭐25) - A Terraform REPL, giving you a full shell experience. Readline based. No dependencies. Save config changes. History.
- tfsort (⭐113) - CLI utility to sort Terraform variables and outputs.
- travelgrunt (⭐60) - cd inside [mono]repos without fatigue!
Tools / CI
- setup-terraform (⭐1.2k) - Sets up Terraform CLI in your GitHub Actions workflow.
- terraform-plan (⭐47) - GitHub Action to run Terraform plan and add a comment with the changes.
Tools / IDE
- vscode-terraform-live-graph (⭐196) - Terraform Live Graph Extension for Visual Studio Code is a plugin that allows you to generate a live Terraform graph as you code.
Aug 02, 2023
Community Modules / Miscellaneous
- terraform-kubestack (⭐588) - 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-nixos (⭐276) - A set of Terraform modules that are designed to deploy NixOS.
- typhoon (⭐1.9k) - Minimal and free Kubernetes distribution with Terraform.
Tools / Community providers
- terraform-aws-clickops-notifier (⭐178) - Get notified when actions are taken in the AWS Console.
Jul 28, 2023
Tools / Community providers
- tfmake (⭐13) - Automating Terraform with the power of make.
Jul 24, 2023
Books
Tools / Community providers
- tftui (⭐705) - A textual user interface for Terraform state.
Jul 21, 2023
Tools / Community providers
- terragrunt-atlantis-config (⭐506) - Generate Atlantis config for Terragrunt projects.
Terraform Enterprise / IDE
- cloud-concierge (⭐149) - Open Source, codify unmanaged resources as Terraform, detect drift, and cloud cost and security analysis, delivered as a Pull Request.
Jul 08, 2023
Tools / Community providers
- tfgpt (⭐69) - A CLI tool that integrates Terraform with OpenAI's GPT-3.5 Turbo to provide explanations for Terraform commands and concepts.
- tfvar (⭐182) - tfvar scans your Terraform configurations or modules and extracts the variables into formats of your choice (tfvar, environment variables, etc.) for editing.
Jun 21, 2023
Terraform Enterprise / IDE
- Terrakube - Open Source alternative to Terraform Enterprise with private registry, remote state, custom flows, scheduled workspaces, and visual states.
Jun 17, 2023
Libraries / IDE
- nu_plugin_hcl (⭐1) - HCL parser plugin for Nushell (⭐27k)
Jun 16, 2023
Providers / Vendor supported providers
- terraform-provider-artifactory (⭐251) - Provider for JFrog Artifactory.
Jun 15, 2023
Private Registries / Miscellaneous
- Terrareg (⭐112) - Terraform module registry.
May 24, 2023
Tools / Community providers
- tf-profile (⭐131) - Profiler for Terraform runs. Generate global stats, resource-level stats or visualizations.
May 21, 2023
Tools / Community providers
- fuzzy-terraform-rm (⭐35) - A fuzzy-finder command-line tool for removing resources from terraform state.
May 02, 2023
Tools / Community providers
- tpm (⭐75) - A package manager for Terraform providers.
Apr 20, 2023
Tools / Community providers
- terraform-repl (⭐78) - A terraform console wrapper for a better interactive console experience.
Apr 14, 2023
Community Modules / Miscellaneous
- terraform-gce-atlantis (⭐23) - Creates Terraform configurations for running Atlantis on Google Compute Engine.
Apr 02, 2023
Tools / Community providers
- terraformsh (⭐57) - A wrapper in Bash for easier CLI UX and DRY hierarchical configs
Mar 30, 2023
Tools / Community providers
- tftarget (⭐175) - CLI Tool to do
terraform xxx -target={...}
interactively.
Mar 22, 2023
Tutorials and Blog Posts / Beginner Guides
- Terraform Security Guide - Blog post describing security best practices when working with Terraform
Mar 11, 2023
Providers / Vendor supported providers
- terraform-provider-azapi (⭐137) - Provider for Azure Resource Manager Rest API
- terraform-provider-azuredevops (⭐331) - Provider for Azure DevOps (VSTS).
Providers / Community providers
- terraform-provider-terracurl (⭐109) - Provider to make managed and unmanaged API calls to your target endpoint.
Tools / Community providers
- aztfexport (⭐1.3k) - A tool to bring existing Azure resources under Terraform's management.
Mar 09, 2023
Terraform Enterprise / IDE
- Digger - Open Source Alternative to Terraform Cloud - Run Terraform plan & apply jobs in your CI.
Feb 17, 2023
Private Registries / Miscellaneous
- tapir (⭐113) - Private Terraform Registry.
Feb 16, 2023
Tools / Community providers
- Terrahaxs - A GitOps Terraform CI/CD GitHub Application 💲
Jan 08, 2023
Terraform Enterprise / IDE
- Terrateam - Terraform GitOps with cost estimation, static analysis, access controls, drift detection, and custom workflows. 💲
Dec 13, 2022
Tools / Community providers
- AIaC (⭐2.9k) - Artificial Intelligence Infrastructure-as-Code Generator
Nov 24, 2022
Tools / Community providers
- terraform-iam-policy-validator (⭐205) - CLI validates AWS IAM Policies in a Terraform template against AWS IAM best practices.
- tfproviderlint (⭐125) - Terraform Provider Lint Tool.
- tftree (⭐131) - Display your Terraform module call stack in your terminal.
Nov 22, 2022
Tutorials and Blog Posts / How-To
- Infracost + Terraform + GitHub Actions = Automate Cloud Cost Management - How to use Infracost as the guardrail to manage cloud cost during Terraform development.
Nov 18, 2022
Terraform Enterprise / IDE
- OTF (⭐430) - Open Terraforming Framework, an open source alternative to Terraform Enterprise with full Terraform CLI integration.
Nov 17, 2022
Tools / Community providers
- tfautomv (⭐595) - Generate Terraform
moved
blocks automatically for painless refactoring
Nov 10, 2022
Tools / Community providers
- terraform-diff (⭐63) - Always know where you need to run Terraform plan & apply!
Nov 07, 2022
Tools / Community providers
- sato (⭐50) - Sato helps you convert your legacy Cloudformation into Terraform.
Oct 19, 2022
Tools / Community providers
- Coder - Coder provisions software development environments on your infrastructure via Terraform.
Oct 08, 2022
Books
Sep 29, 2022
Providers / Vendor supported providers
Sep 21, 2022
Books
Tools / Community providers
- pluralith - Terraform state visualization and automated generation of infrastructure documentation. 💲
Terraform Enterprise / IDE
- Brainboard - Visually Design, Deploy & Manage modern cloud infrastructures starting from any Cloud Provider - AWS, GCP, Azure 💲
Sep 19, 2022
Tools / Community providers
- tf-init-booster (⭐7) - A Pre-terraform routine that speedups terraform modules download for bulky blueprints.
- tf-summarize (⭐405) - A command-line utility to print the summary of the terraform plan
Sep 01, 2022
Tools / Community providers
- aws2tf (⭐326) - automates the importing of existing AWS resources into Terraform and outputs the Terraform HCL code.
Terraform Enterprise / IDE
- Scalr - Alternative to Terraform Enterprise with OPA integration, organizational structure, custom hooks, native integrations with other DevOps platforms, and centralized reporting. 💲
Aug 30, 2022
Tools / Community providers
- pike (⭐367) - Pike calculates the permissions or IAM policy required to build your Terraform.
Aug 22, 2022
Providers / Vendor supported providers
- terraform-provider-iterative (⭐287) - Terraform plugin built with machine learning in mind.
Aug 18, 2022
Providers / Vendor supported providers
- terraform-provider-sigsci (⭐25) - Provider for Signal Sciences.
Aug 12, 2022
Providers / Vendor supported providers
- terraform-provider-confluent (⭐100) - Provider for Confluent.
Jul 30, 2022
Tools / Community providers
- Styra Declarative Authorization Service (DAS) - Provides a managed Open Policy Agent (OPA) 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 Styra's Terraform policy library.
Jun 26, 2022
Community
- Language-specific communities:
Tutorials and Blog Posts / Writing Custom Providers
- Writing a Terraform provider - Guide for creating custom providers.
Tools / Community providers
- tfedit (⭐82) - A refactoring tool for Terraform.
Terraform Enterprise / IDE
- Spacelift - Alternative to Terraform Cloud/Enterprise. Collaborative Infrastructure Delivery Platform for Terraform 💲
Editor Plugins / IDE
- Terraform-ls (⭐895) (Terraform Language Server)
May 25, 2022
Tools / Community providers
- terramate (⭐2.7k) - Tool for managing multiple Terraform stacks that comes with support for change detection and code generation
May 18, 2022
Providers / Hashicorp supported providers
- terraform-provider-aws (⭐9k) - Provider for Amazon Web Services.
- terraform-provider-azurerm (⭐4.2k) - Provider for Azure.
- terraform-provider-docker (⭐132) - Provider for Docker.
- terraform-provider-google (⭐2.1k) - Provider for Google Cloud Platform.
- terraform-provider-helm (⭐960) - Provider for Helm.
- terraform-provider-kubernetes (⭐1.5k) - Provider for Kubernetes.
- terraform-provider-vsphere (⭐584) - Provider for VMware vSphere.
Providers / Vendor supported providers
- terraform-provider-alicloud (⭐558) - Provider for Alibaba Cloud.
- terraform-provider-atlas (⭐45) - Provider for Atlas.
- terraform-provider-buildkite (⭐50) - Provider for Buildkite.
- terraform-provider-datadog (⭐353) - Provider for Datadog.
- terraform-provider-digitalocean (⭐462) - Provider for DigitalOcean.
- terraform-provider-github - Provider for GitHub.
- terraform-provider-gitlab (⭐375) - Provider for GitLab.
- terraform-provider-graphql (⭐51) - Provider for GraphQL queries and mutations.
- terraform-provider-hcloud (⭐427) - Provider for Hetzner Cloud.
- terraform-provider-heroku (⭐94) - Provider for Heroku.
- terraform-provider-ibm (⭐326) - Provider for IBM Cloud.
- terraform-provider-linode (⭐71) - Provider for Linode.
- terraform-provider-spinnaker (⭐143) - Provider for Spinnaker.
- terraform-provider-spotinst (⭐59) - Provider for spotinst.
May 17, 2022
Providers / Vendor supported providers
- terraform-provider-env0 (⭐31) - Provider for env0
- terraform-provider-scalr (⭐18) - Provider for Scalr
Tools / Community providers
- Argonaut - 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.
Apr 28, 2022
Tools / Community providers
- terraform-docs (⭐3.7k) - Quick utility to generate docs from terraform modules.
- terrascan (⭐4.3k) - Collection of security and best practice test for static code analysis of terraform templates
- tfaction (⭐207) - GitHub Actions collection for Opinionated Terraform Workflow
- tflint (⭐4.3k) - Terraform linter for detecting errors that can not be detected by
terraform plan
- tfsec (⭐6.3k) - Terraform static analysis tool that supports terraform <0.12 & >=0.12 & directly integrates with HCL parser for better results.
- validIaC (⭐209) - ValidIaC combines the best open-source tools to help ensure Terraform best practices, hygiene & security.
Apr 23, 2022
Tutorials and Blog Posts / How-To
- 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.
Apr 02, 2022
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.
Mar 14, 2022
Official Resources
Tutorials and Blog Posts / How-To
- Deploying Discourse with Terraform - Shows how Terraform can create a running instance of Discourse on DigitalOcean in one command.
- Terraform for a Highly Available VPN between AWS and Azure - Terraform code to deploy a highly available VPN between AWS and Azure.
Tutorials and Blog Posts / Azure
- Learning HashiCorp Terraform - Guide for Azure.
Testing / Community providers
- terraform-compliance (⭐1.3k) - BDD Testing for Terraform Files.
Mar 11, 2022
Tools / Community providers
- atmos (⭐448) - A universal tool that converts deep merged YAML to module inputs. 👽
Feb 22, 2022
Videos / IDE
- 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
Feb 16, 2022
Tutorials and Blog Posts / How-To
- Google Cloud Platform for 10$ a month using terraform (⭐38) - 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.
Private Registries / Miscellaneous
- terustry (⭐53) - Open Source terraform provider registry acting as a proxy for gitlab or github releases.
Providers / Vendor supported providers
- terraform-provider-openstack (⭐339) - Plugin for OpenStack.
Boilerplates / IDE
- Terraform GitOps Framework - Everything you need to build reliable automation for AKS, EKS, and GKE Kubernetes clusters in one free and open-source framework.
Jan 27, 2022
Tutorials and Blog Posts / AWS
- 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 / Miscellaneous
Jan 08, 2022
Tools / Community providers
- hcldump (⭐7) - Dump the HCL (v2) abstract syntax tree.
- hclgrep (⭐86) - Syntax based grep for HCL(v2).
Jan 01, 2022
Tools / Community providers
- prettyplan (⭐143) - Prettyplan (available online here) is a small tool to help you view large Terraform plans with ease. 👻
Dec 28, 2021
Community
- weekly.tf - Terraform Weekly Newsletter - Various news in the Terraform world (projects, announcements, discussions).
Community Modules / Miscellaneous
- terraform-aws-alb (⭐399) - Creates Application load-balancer on AWS (verified module).
- terraform-aws-appconfig (⭐23) - Creates AWS AppConfig resources on AWS.
- terraform-aws-customer-gateway (⭐16) - Creates Customer Gateway on AWS.
- terraform-aws-datadog-forwarders (⭐49) - Creates resources on AWS to forward logs/metrics to Datadog.
- terraform-aws-dms (⭐51) - Creates AWS DMS (Database Migration Service) resources on AWS.
- terraform-aws-dynamodb-table (⭐89) - Creates DynamoDB table on AWS.
- terraform-aws-ec2-instance (⭐686) - Creates EC2 instances on AWS.
- terraform-aws-ecs (⭐435) - Creates AWS ECS resources on AWS.
- terraform-aws-elb (⭐139) - Creates Elastic load-balancer on AWS (verified module).
- terraform-aws-eventbridge (⭐121) - Creates EventBridge resources on AWS.
- terraform-aws-lambda (⭐740) - Terraform module, which builds dependencies and packages, and also creates AWS Lambda resources in countless combinations.
- terraform-aws-managed-service-prometheus (⭐21) - Creates AWS Managed Service for Prometheus (AMP) resources on AWS.
- terraform-aws-msk-kafka-cluster (⭐39) - Creates AWS MSK (Managed Streaming for Kafka) resources on AWS.
- terraform-aws-notify-slack (⭐438) - Creates SNS topic and Lambda function, which sends notifications to Slack.
- terraform-aws-rds-aurora (⭐356) - Creates RDS Aurora cluster resources on AWS (verified module).
- terraform-aws-rds-proxy (⭐50) - Creates AWS RDS Proxy resources on AWS.
- terraform-aws-redshift (⭐72) - Creates Redshift resources on AWS.
- terraform-aws-route53 (⭐112) - Creates Route53 resources on AWS.
- terraform-aws-s3-bucket (⭐450) - Creates S3 bucket resources on AWS.
- terraform-aws-transit-gateway (⭐127) - Creates Transit Gateway resources on AWS.
- terraform-aws-vpn-gateway (⭐105) - Creates VPN gateway resources on AWS.
Tools / Community providers
- modules.tf-lambda (⭐342) - Infrastructure as code generator from visual diagrams created with Cloudcraft.co to Terraform.
Videos / IDE
- 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.
- 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.
Dec 15, 2021
Tools / Community providers
- driftctl (⭐2.3k) - Detect, track, and alert on infrastructure drift
Dec 14, 2021
Community
Books
Dec 13, 2021
Tools / Community providers
- terraform-credentials-vault (⭐5) - A Terraform "credentials helper" plugin that allows providing credentials for Terraform-native services (private module registries, Terraform Cloud, etc) via environment variables.
- terrastate (⭐74) - Visual Studio Code extension to monitor/deploy/destroy Terraform resources in your workspace
- tfvaultenv (⭐46) - tfvaultenv reads secrets from HashiCorp Vault and outputs environment variables for various Terraform providers with those secrets.
Nov 21, 2021
Tools / Community providers
- inframap (⭐1.5k) - Read your tfstate or HCL to generate a graph specific for each provider, showing only the resources that are most important/relevant.
- terracognita (⭐1.8k) - Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration.
- terracost (⭐234) - Cloud cost estimation for Terraform in your CLI.
- terradozer (⭐160) - Terraform destroy without configuration files.
- tfcmt (⭐329) - CLI to notify the result of plan and apply as Pull Request comment.
Nov 14, 2021
Tools / Community providers
- rover (⭐2.7k) - Interactive Terraform state and configuration explorer.
Nov 06, 2021
Community
Oct 20, 2021
Tools / Community providers
- tfmigrator (⭐35) - Go library and CLI to migrate Terraform Configuration and State
Oct 05, 2021
Terraform Enterprise / IDE
- tfe-state-explorer (⭐18) - Simple shell for exploring remote terraform enterprise state, with autocomplete. 💀
Sep 23, 2021
Terraform Enterprise / IDE
- env0 - Alternative to Terraform Cloud/Enterprise with OPA integration, custom flows and Terragrunt support 💲
Sep 08, 2021
Tools / Community providers
- Shisho (⭐361) - Lightweight static analyzer for Terraform.
Aug 16, 2021
Tools / Community providers
- terraformize (⭐153) - Apply\Destroy Terraform modules via a simple REST API endpoint.
Jul 22, 2021
Providers / Vendor supported providers
- terraform-provider-ucloud (⭐66) - Provider to manage UCloud resources.
Jun 24, 2021
Tools / Community providers
- gaia (⭐837) - Gaia is a Terraform 🌍 UI for your modules, and self-service infrastructure 👨💻.
Jun 09, 2021
Providers / Vendor supported providers
- terraform-provider-rancher2 (⭐232) - Provider for Rancher v2.
May 27, 2021
Tools / Community providers
- yor (⭐731) - Automatically tag and trace infrastructure as code frameworks (Terraform, Cloudformation, and Serverless).
May 19, 2021
Tutorials and Blog Posts / AWS
- AWS Lambda the Terraform Way (⭐1.2k) - Understand AWS Lambda in-depth, beyond executing functions, using Terraform. Also includes guides for integration with S3, API Gateway, DynamoDB, Kinesis, SQS.
Tools / Community providers
- terraform-cdk (⭐4.6k) - CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform.
Videos / IDE
- Terraform explained in 15 mins - Terraform explained in 15 mins.
- Terraform Course - Automate your AWS cloud infrastructure.
- How to Build Reusable, Composable, Battle tested Terraform Modules - Yevgeniy Brikman talks about how to write Terraform code so that it is reusable, composable and testable. The presentation focuses on Terraform modules but also provides a brief and clear explanation of what problem Terraform was created to solve and a short demo of Terraform basics (~39 min, October 2017).
Apr 09, 2021
Providers / Vendor supported providers
- terraform-provider-dominos (⭐1.1k) - Provider for Dominos Pizza.
- terraform-provider-k8s (⭐135) - Simple Kubernetes Provider, works with any manifest.
- terraform-provider-snowflake (⭐448) - Provider for Snowflake data warehouse.
Tools / Community providers
- Infracost (⭐9.7k) - Cloud cost estimates for Terraform in your CLI and pull requests.
- terraform-graph-beautifier (⭐289) - Command line tool allowing to convert the barely usable output of the terraform graph command to something more meaningful and explanatory.
Mar 19, 2021
Tools / Community providers
- KICS (⭐1.7k) - 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.
Mar 01, 2021
Tools / Community providers
- regula (⭐889) - Evaluates Terraform infrastructure-as-code for potential AWS, Azure, and Google Cloud security misconfigurations and compliance violations prior to deployment.
Feb 24, 2021
Tutorials and Blog Posts / Beginner Guides
- Hello, world: The Fargate/Terraform tutorial I wish I had - Blog post describing setting up an ECS Fargate cluster from scratch
Feb 15, 2021
Providers / Vendor supported providers
- terraform-provider-checkly (⭐42) - Manage Checkly resources for API & E2E monitoring.
Dec 11, 2020
Testing / Community providers
- clarity (⭐132) - A declarative test framework for Terraform for unit testing.
Dec 07, 2020
Legend
- Not compatible with terraform >= 0.12 👻
- Abandoned 💀
- Monetized 💲
Community
Tools / Community providers
- astro (⭐427) - Astro is a tool for managing multiple Terraform executions as a single command. 👻
- blast radius (⭐1.9k) - Interactive visualizations of Terraform dependency graphs. 💀
- json2hcl (⭐468) - Convert JSON to HCL and vice versa. 👻
- para (⭐55) - The missing 3rd-party plugin manager and a "Swiss army knife" for Terraform/Terragrunt - just 1 tool to facilitate all workflows. 💀
- scenery (⭐369) - Another Terraform plan output prettifier. 👻
- terraform-plan-parser (⭐144) - Command line utility and JavaScript API for parsing stdout from
terraform plan
and converting it to JSON. 👻
- terrahub (⭐220) - 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. 💲
- tfjson (⭐181) - Utility to read in a Terraform plan file and dump it out in JSON. 💀
Nov 28, 2020
Official Resources
Community
Tutorials and Blog Posts / Writing Custom Providers
- Writing Custom Providers - Official documentation for creating custom providers.
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 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.
Tools / Community providers
- Checkov (⭐6k) - Terraform static analysis tool for terraform>=0.12
- TerraDepot (⭐64) Terraform state repository, based on the default http remote backend. Allows the central administration of tfstates on AWS S3.
- Terraform-Visual (⭐538) - A simple but powerful tool to visualize Terraform plan.
- terratag (⭐848) - 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.
Libraries / IDE
- python-hcl2 (⭐208) - HCL2 parser in Python
Sep 25, 2020
Books
Community Modules / Miscellaneous
- terraform-aws-lambda-auto-package (⭐27) - A terraform module to define a lambda function which source files are automatically built and packaged for lambda deployment.
Tools / Community providers
- flora (⭐23) - Terraform version manager.
- 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 (⭐610).
- terraspace - The Terraform Framework
Sep 17, 2020
Tools / Community providers
- tfmigrate (⭐966) - A Terraform state migration tool for GitOps.
Sep 08, 2020
Tools / Community providers
- terraform-operator - A Kubernetes CRD to handle Terraform operations.
Aug 22, 2020
Tools / Community providers
- hcledit (⭐361) - A command line editor for HCL.
Aug 04, 2020
Boilerplates / IDE
- Terraform Generator (⭐249) - Scaffolding for a new terraform module or project with support of test frameworks (terratest and kitchen-terraform)
Jul 26, 2020
Tools / Community providers
- terraform-landscape (⭐1.5k) - (only 0.11 and earlier) Improve Terraform's plan output to be easier to read and understand.
Jul 18, 2020
Tools / Community providers
- terraformer (⭐11k) - CLI tool to generate terraform files from existing infrastructure. Infrastructure to Code. Supported many providers.
Jul 15, 2020
Community Modules / Miscellaneous
- terraform-cloudflare-maintenance (⭐119) - Module to create a Maintenance Page using Cloudflare Workers.
Jul 07, 2020
Official Resources
Community
Books
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.
Tutorials and Blog Posts / Writing Custom Providers
- Creating custom terraform providers - Guide for creating custom providers.
Tutorials and Blog Posts / How-To
- 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.
- Terraforming 1Password - How 1Password migrated from CloudFormation to Terraform.
- Zero Downtime Updates with HashiCorp Terraform - Ensuring zero downtime of your infrastructure.
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
- New Terraform Azure Automation Resources - Azure Automation.
- Terraforming Azure PaaS - Deploy PaaS Resources on Azure.
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 (⭐643) - Anonymized, secure, and free Terraform cost estimation based on Terraform plan (0.12+) or Terraform state (any version).
Community Modules / Miscellaneous
- rancher-terraform-digitalocean (⭐23) - Rancher server on digitalocean.
- segmentio/stack (⭐2.1k) - Configures production infrastructure with AWS, Docker, and ECS.
- terraform-aws-atlantis (⭐483) - Creates Terraform configurations for running Atlantis on AWS Fargate. Github, Gitlab, and BitBucket are supported.
- terraform-aws-autoscaling (⭐268) - Creates Auto-Scaling Groups and Launch Configurations (verified module).
- terraform-aws-ecr (⭐166) - Manages Docker container registries on AWS ECR.
- terraform-aws-efs (⭐80) - Defines an EFS Filesystem.
- terraform-aws-eks (⭐3.8k) - Creates Elastic Kubernetes Service on AWS (very popular module).
- terraform-aws-jenkins-ha-agents (⭐8) - EC2 Based Jenkins deployment with HA (spot) agents. Runs on EFS for immutability. Fully customizable, with sensible defaults.
- terraform-aws-jenkins (⭐253) - Build a Docker image with Jenkins, saves it to an ECR repo, and deploys it to Elastic Beanstalk running a Docker stack.
- terraform-aws-key-pair (⭐146) - Automatically Generate SSH Key Pairs (Public/Private Keys).
- terraform-aws-modules - Collection of Terraform AWS modules supported by the community (includes official AWS modules).
- terraform-aws-postgresql-rds (⭐84) - Creates PostgreSQL on RDS.
- terraform-aws-rds (⭐797) - Creates RDS resources on AWS (verified module).
- terraform-aws-secure-baseline (⭐1.1k) - Set up your AWS account with the secure baseline configuration based on CIS Amazon Web Services Foundations.
- terraform-aws-security-group (⭐538) - Creates EC2-VPC security groups on AWS (verified module).
- terraform-aws-ssh-bastion-service (⭐202) - Terraform plan to deploy ssh bastion as a stateless service on AWS.
- terraform-aws-vpc (⭐2.8k) - Creates VPC resources on AWS (verified and very popular module).
- terraform-azurerm-aks (⭐0) - Create AKS resources on Azure.
- terraform-azurerm-iis (⭐6) - Install IIS Server on Azure VM instance.
- terraform-azurerm-mysql (⭐2) - Create MySql Database on Azure.
- terraform-azurerm-redis (⭐1) - Create Redis on Azure.
- terraform-azurerm-sqlserver (⭐8) - Create SQl Server Database on Azure.
- terraform-digitalocean-droplet - Terraform module for managing DigitalOcean Droplets and related resources.
- terraform-ecs-jenkins (⭐103) - Provisions Jenkins on AWS ECS using Terraform.
- terraform-google-project-factory (⭐772) - Opinionated Google Cloud Platform project creation and configuration with Shared VPC, IAM, APIs, etc.
- terraform-linode-k8s - Installs Kubernetes on Linode Instances.
- terraform-static-website-s3-cloudfront (⭐37) - Creates static websites on AWS S3 & Cloudfront based on variables.
- tf_aws_bastion_s3_keys (⭐191) - Creates bastion hosts on AWS EC2.
Private Registries / Miscellaneous
- anthology (⭐123) - Private Terraform registry implementation as an alternative to the official registry.
- citizen (⭐585) - Private Terraform Module/Provider Registry
- terraform-simple-registry (⭐64) - Simple implementation of the Terraform registry protocols.
Providers / Vendor supported providers
- terraform-provider-healthchecksio (⭐36) - Provider to manage healthchecks.io resources.
- terraform-provider-keycloak (⭐525) - Provider to manage the settings of your Keycloak identity provider server.
- terraform-provider-pingdom (⭐121) - Provider to manage Pingdom resources.
- terraform-provider-secrethub (⭐50) - Provider for SecretHub.
- terraform-provider-stripe (⭐235) - Provider for Stripe.
- terraform-provider-uptimerobot (⭐121) - Provider to manage uptimerobot resources.
- terraform-provider-vaulted (⭐37) - Encrypted HashiCorp Vault secrets via Terraform that can be stored in SCM such as Git.
Testing / Community providers
- kitchen-terraform (⭐1.1k) - 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 (⭐90) - RSpec tests for your Terraform modules.
- terraform_validate (⭐258) - Assists in the enforcement of user-defined standards in Terraform.
- terratest (⭐7.2k) - Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.
Tools / Community providers
- AirIAM (⭐741) - AirIAM is a tool for AWS IAM to least privilege Terraform execution framework.
- atlantis (⭐6.6k) - Unified workflow for collaborating on Terraform through GitHub.
- fogg (⭐277) - A tool for eliminating toil in managing terraform repositories.
- former2 (⭐1.9k) - Generate terraform configuration from your existing resources within your AWS account.
- iam-policy-json-to-terraform (⭐729) - Small tool to convert an IAM Policy in JSON format into a Terraform aws_iam_policy_document
- k2tf (⭐1.1k) - Kubernetes YAML to Terraform HCL converter.
- pre-commit-terraform (⭐2.7k) - pre-commit git hooks to take care of Terraform configurations (auto-format, validate, update docs).
- pretf (⭐101) - drop-in Terraform wrapper that generates Terraform configuration with Python. See pretf documentation
- python-terrafile (⭐36) - Systematically manage external modules from Github for use in Terraform.
- ruby-terraform (⭐103) - Simple Ruby wrapper for invoking terraform commands.
- scratchrelaxtv (⭐26) - Simple Python tool to help with module development - extract vars from
main.tf
to generatevariables.tf
and make module usage stub fromvariables.tf
.
- tads-boilerplate (⭐697) - The power of Ansible and Terraform + the simplicity of Docker Swarm = Infrastructure as Code and DevOps best practices.
- tau (⭐75) - Tau is a thin wrapper on top of terraform to manage multiple deployments, dependencies, and secrets.
- terraboard (⭐1.8k) - Web dashboard to inspect Terraform States.
- terraboot (⭐37) - DSL to generate a terraform configuration and run it.
- terraform-bundle (⭐39k) - Easily builds bundles containing a Terraform binary as well as provider binaries. Useful for CI and air-gapped Terraform Enterprise.
- terraform-provisioner (⭐13) - Tool for managing multiple provisions of the same Terraform scripts.
- terraform-rake-tasks (⭐4) - Shared Rake tasks for managing terraform plans.
- terraform.py (⭐448) - Ansible dynamic inventory script for parsing Terraform state files.
- terraforming (⭐4.3k) - Export existing AWS resources to Terraform style (tf, tfstate). Similar to
terraformer
.
- terragrunt (⭐7.2k) - 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 (⭐377) - Command line utility aimed at providing supplementary functionality which can sometimes prove useful when working with Terraform.
- tfenv (⭐4.1k) - Terraform version manager inspired by rbenv.
- tfmask (⭐194) - Terraform utility to mask select output from
terraform plan
andterraform apply
- tfscaffold (⭐225) - Framework for controlling multi-environment multi-component terraform-managed AWS infrastructure.
- tfschema (⭐281) - Schema inspector for Terraform providers.
- tfupdate (⭐472) - Update version constraints in your Terraform configurations.
- tfwrapper (⭐8) - Rubygem providing rake tasks for running Hashicorp Terraform sanely.
- tgf (⭐94) - Terragrunt frontend for executing Terragrunt/Terraform through Docker.
- xterrafile (⭐66) Systematically manage external modules from the module registry, git, or local directories for use in Terraform (written in Go).
Libraries / IDE
- pyhcl (⭐321) - HCL parser in Python
- rhcl (⭐15) - Pure Ruby HCL parser
Terraform Enterprise / IDE
- terraform-enterprise-cli (⭐10) - Terraform Enterprise Command Line Interface.
- terraform-enterprise-client (⭐8) - Terraform Enterprise API Ruby Client and Command Line tool.
- terraform-enterprise-migrator (⭐12) - Script for migrating Terraform Enterprise environments from Legacy to new version of Terraform Enterprise.
Videos / IDE
- 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.
- Untangling Terraform Through Refactoring - How to refactor your Terraform code in a careful way with minimum risk.
Editor Plugins / IDE
- Terraform-lsp (⭐565) (Language Server Protocol for Terraform)