Top 50 Awesome List

shuaibiyy/awesome-terraform

Back-End Development  16 days ago  2.7k
Curated list of resources on HashiCorp's Terraform
View byDAY/WEEK/README
View on Github

Awesome Terraform Awesome

A curated list of resources on HashiCorp's Terraform. Your contributions are welcome!

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

Sponsored by Scalr - Terraform Automation & Collaboration Software

Scalr - Terraform Automation & Collaboration Software

Contents

Legend

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

Official Resources

Community

Books

Tutorials and Blog Posts

Beginner Guides

Writing Custom Providers

How-To

Multi-Environment Configuration

Azure

AWS

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

Miscellaneous

Community Modules

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

Private Module Registries

Providers

Testing

Tools

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

  • astrostars393 - Astro is a tool for managing multiple Terraform executions as a single command. emoji-ghost

  • atlantisstars4.3k - Unified workflow for collaborating on Terraform through GitHub.

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

  • blast radiusstars1.6k - Interactive visualizations of Terraform dependency graphs. emoji-skull

  • Checkovstars3.7k - Terraform static analysis tool for terraform>=0.12

  • Cloudrailstars18 - Terraform and Live Cloud context-based analysis tool for terraform>=0.12 emoji-heavy_dollar_sign

  • driftctlstars1.7k - Detect, track and alert on infrastructure drift

  • florastars15 - Terraform version manager.

  • foggstars194 - A tool for eliminating toil in managing terraform repositories.

  • former2stars1.1k - Generate terraform configuration from your existing resources within your AWS account.

  • gaiastars255 - A web application to import and run your Terraform modules.

  • hcldumpstars0 - Dump the HCL (v2) abstract syntax tree.

  • hcleditstars176 - A command line editor for HCL.

  • hclgrepstars29 - Syntax based grep for HCL(v2).

  • iam-policy-json-to-terraformstars453 - Small tool to convert an IAM Policy in JSON format into a Terraform aws_iam_policy_document

  • k2tfstars664 - Kubernetes YAML to Terraform HCL converter.

  • KICSstars864 - 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.

  • Infracoststars4.7k - Cloud cost estimates for Terraform in your CLI and pull requests.

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

  • json2hclstars385 - Convert JSON to HCL and vice versa. emoji-ghost

  • modules.tf-lambdastars303 - Infrastructure as code generator from visual diagrams created with Cloudcraft.co to Terraform.

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

  • pre-commit-terraformstars1.5k - pre-commit git hooks to take care of Terraform configurations (auto-format, validate, update docs).

  • pretfstars73 - drop-in Terraform wrapper that generates Terraform configuration with Python. See pretf documentation

  • python-terrafilestars35 - Systematically manage external modules from Github for use in Terraform.

  • prettyplanstars107 - Prettyplan (available online here) is a small tool to help you view large Terraform plans with ease. emoji-ghost

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

  • roverstars1.7k - Interactive Terraform state and configuration explorer.

  • ruby-terraformstars80 - Simple Ruby wrapper for invoking terraform commands.

  • scenerystars368 - Another Terraform plan output prettifier. emoji-ghost

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

  • serverless.tf - Doing serverless with Terraform - serverless.tf is an opinionated open-source framework for developing, building, deploying, and securing serverless applications and infrastructures on AWS using Terraform. Read morestars345.

  • Shishostars313 - Lightweight static analyzer for Terraform.

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

  • taustars64 - Tau is a thin wrapper on top of terraform to manage multiple deployments, dependencies and secrets.

  • terraboardstars1.5k - Web dashboard to inspect Terraform States.

  • terrabootstars39 - DSL to generate a terraform configuration and run it.

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

  • terracoststars73 - Cloud cost estimation for Terraform in your CLI.

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

  • terradozerstars37 - Terraform destroy without configuration files.

  • terrafilestars95 - Systematically manage external modules from Github for use in Terraform (written in Go).

  • terrafilestars2 - 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-cdkstars3.1k - CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform.

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

  • terraform-docsstars2.5k - Quick utility to generate docs from terraform modules.

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

  • terraform-landscapestars1.4k - (only 0.11 and earlier) Improve Terraform's plan output to be easier to read and understand.

  • terraform-operatorstars156 - A Kubernetes CRD to handle Terraform operations.

  • terraform-plan-parserstars127 - Command line utility and JavaScript API for parsing stdout from terraform plan and converting it to JSON. emoji-ghost

  • terraform-provisionerstars13 - Tool for managing multiple provisions of the same Terraform scripts.

  • terraform-rake-tasksstars3 - Shared Rake tasks for managing terraform plans.

  • terraform.pystars421 - Ansible dynamic inventory script for parsing Terraform state files.

  • terraformerstars6.6k - CLI tool to generate terraform files from existing infrastructure. Infrastructure to Code. Supported many providers.

  • terraformingstars4.2k - Export existing AWS resources to Terraform style (tf, tfstate). Similar to terraformer.

  • terraformizestars106 - Apply\Destroy Terraform modules via a simple REST API endpoint.

  • Terraform-Visualstars324 A simple but powerful tool to visualize Terraform plan.

  • terragruntstars5.5k - 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.

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

  • terrahubstars186 - 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.