Awesome Lists

awesome-tf

by shuaibiyy

awesome listpushed almost 2 years ago

Curated list of resources on HashiCorp's Terraform and OpenTofu

AI summary

Infrastructure management guide

A curated collection of resources and guides for learning and using Terraform to manage infrastructure as code

stars
5.6K
forks
872
watching
188
awesome lists
3
entries
395
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/shuaibiyy/awesome-tf/links.svg)](https://awesome.facts.dev/awesome/shuaibiyy/awesome-tf)
HTML
<a href="https://awesome.facts.dev/awesome/shuaibiyy/awesome-tf"><img src="https://awesome.facts.dev/shield/shuaibiyy/awesome-tf/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/shuaibiyy/awesome-tf/links.svg

What's in the list

395 links in 29 sections, with live GitHub stats.activeno commit in 2y

Official Resources

Community

Community / Language-specific communities:

Books

Tutorials and Blog Posts / Beginner Guides

Tutorials and Blog Posts / Writing Custom Providers

Tutorials and Blog Posts / How-To

Tutorials and Blog Posts / Multi-Environment Configuration

Tutorials and Blog Posts / Azure

Tutorials and Blog Posts / AWS

Tutorials and Blog Posts / Google Cloud

Tutorials and Blog Posts / Miscellaneous

Community Modules

Self-Hosted Registries

  • anthology

    Private Terraform registry implementation as an alternative to the official registry

  • boring-registry

    Private Terraform Module/Provider Registry with API key authentication and blob storage support

  • citizen

    Private Terraform Module/Provider Registry

  • nrkno/terraform-registry

    A private Terraform registry with modular store backends

  • petra

    Private Terraform Registry Manager

  • philips-labs/terraform-registry

    Terraform registry to serve arbitrary Terraform provider releases hosted on Github

  • tapir

    Private Terraform Registry

  • terraform-simple-registry

    Simple implementation of the Terraform registry protocols

  • Terrareg

    Terraform module registry

  • terustry

    Open Source terraform provider registry acting as a proxy for gitlab or github releases

  • terralist

    Terraform Private Registry for modules and providers manageable from a REST API

Managed Registries

  • cloudsmith

    Managed package hoster for internal and external clients

Providers / Hashicorp supported providers

Providers / Vendor supported providers

Providers / Community providers

Testing

  • clarity

    A declarative test framework for Terraform for unit testing

  • 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_validate

    Assists in the enforcement of user-defined standards in Terraform

  • terraform-compliance

    BDD Testing for Terraform Files

  • terratest

    Terratest is a Go library that makes it easier to write automated tests for your infrastructure code

Tools

  • AIaC

    Artificial Intelligence Infrastructure-as-Code Generator

  • AirIAM

    AirIAM is a tool for AWS IAM to least privilege Terraform execution framework

  • 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

  • asdf

    HashiCorp plugin for the version manager

  • astro

    Astro is a tool for managing multiple Terraform executions as a single command

  • atlantis

    Unified workflow for collaborating on Terraform through GitHub

  • atmos

    A universal tool that converts deep merged YAML to module inputs

  • aws2tf

    automates the importing of existing AWS resources into Terraform and outputs the Terraform HCL code

  • aztfexport

    A tool to bring existing Azure resources under Terraform's management

  • balcony

    CLI tool for easy AWS API reads. Also generates Terraform import-blocks, and actual Terraform Resource code

  • blast radius

    Interactive visualizations of Terraform dependency graphs

  • burrito

    Burrito is a TACoS (Terraform Automation Collaboration Software) Kubernetes Operator

  • cfnctl

    Cfnctl brings the Terraform cli experience to AWS Cloudformation

  • Checkov

    Terraform static analysis tool for terraform>=0.12

  • Coder

    Coder provisions software development environments on your infrastructure via Terraform

  • cf-terraforming

    A command line utility to facilitate terraforming your existing Cloudflare resources

  • coretech/terrafile

    Systematically manage external modules from Github for use in Terraform (written in Go)

  • driftctl

    Detect, track, and alert on infrastructure drift

  • dxw/terrafile

    Systematically manage external modules from Github for use in Terraform (written in Ruby)

  • flora

    Terraform version manager

  • fogg

    A tool for eliminating toil in managing terraform repositories

  • former2

    Generate terraform configuration from your existing resources within your AWS account

  • fuzzy-terraform-rm

    A fuzzy-finder command-line tool for removing resources from terraform state

  • gaia

    Gaia is a Terraform 🌍 UI for your modules, and self-service infrastructure 👨‍💻

  • hatchet

    An all-in-one Terraform management tool

  • hcldump

    Dump the HCL (v2) abstract syntax tree

  • hcledit

    A command line editor for HCL

  • hclgrep

    Syntax based grep for HCL(v2)

  • iam-policy-json-to-terraform

    Small tool to convert an IAM Policy in JSON format into a Terraform aws_iam_policy_document

  • Infracost

    Cloud cost estimates for Terraform in your CLI and pull requests

  • inframap

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

  • json2hcl

    Convert JSON to HCL and vice versa

  • k2tf

    Kubernetes YAML to Terraform HCL converter

  • KICS

    Scans IaC projects for security vulnerabilities, compliance issues, and infrastructure misconfiguration. Currently working with Terraform projects, Kubernetes manifests, Dockerfiles, AWS CloudFormation Templates, and Ansible playbooks

  • layerform

    Layerform helps engineers create reusable environment stacks using plain .tf files. Ideal for multiple "staging" environments

  • library.tf

    Library.tf is built and designed to not just provide you with all of the registry information for Terraform and OpenTofu but to provide all of the insights you need to make decisions. Quickly find modules or providers that are supported and maintained and not full of bugs

  • modules.tf-lambda

    Infrastructure as code generator from visual diagrams created with to Terraform

  • para

    The missing 3rd-party plugin manager and a "Swiss army knife" for Terraform/Terragrunt - just 1 tool to facilitate all workflows

  • pike

    Pike calculates the permissions or IAM policy required to build your Terraform

  • pluralith

    Terraform state visualization and automated generation of infrastructure documentation

  • 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

  • prettyplan

    Prettyplan ( ) is a small tool to help you view large Terraform plans with ease

  • prettyplan for TF 0.12+

    Prettyplan for TF 0.12+ ( ) is a small tool to help you view large Terraform plans with ease

  • pug

    The terminal user interface for terraform power users

  • pytest-terraform

    pytest terraform plugin with fixtures and offline replay support

  • python-terrafile

    Systematically manage external modules from Github for use in Terraform

  • regula

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

  • renovate-config

    Sharable Config Presets for Renovatebot, especially useful for DevOps folks

  • rover

    Interactive Terraform state and configuration explorer

  • ruby-terraform

    Simple Ruby wrapper for invoking terraform commands

  • sato

    Sato helps you convert your legacy Cloudformation into Terraform

  • scenery

    Another Terraform plan output prettifier

  • scratchrelaxtv

    Simple Python tool to help with module development - extract vars from to generate and make module usage stub from

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

  • Shisho

    Lightweight static analyzer for Terraform

  • stacks

    Stacks, the Terraform code pre-processor

  • Styra Declarative Authorization Service (DAS)

    Provides a managed 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

  • 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

  • terracognita

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

  • terracost

    Cloud cost estimation for Terraform in your CLI

  • terracove

    Recursively test a directory tree for Terraform diffs and coverage

  • TerraDepot

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

  • terradozer

    Terraform destroy without configuration files

  • terraeasy

    Easy Terraform wrapper

  • terraform-aws-clickops-notifier

    Get notified when actions are taken in the AWS Console

  • terraform-bundle

    Easily builds bundles containing a Terraform binary as well as provider binaries. Useful for CI and air-gapped Terraform Enterprise

  • terraform-cdk

    CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform

  • terraform-cleaner

    Tiny utility which detects unused variables in your terraform modules

  • terraform-credentials-vault

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

  • terraform-diff

    Always know where you need to run Terraform plan & apply!

  • terraform-docs

    Quick utility to generate docs from terraform modules

  • terraform-graph-beautifier

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

  • terraform-iam-policy-validator

    CLI validates AWS IAM Policies in a Terraform template against AWS IAM best practices

  • terraform-landscape

    Improve Terraform's plan output to be easier to read and understand

  • terraform-operator

    A Kubernetes CRD to handle Terraform operations

  • terraform-plan-parser

    Command line utility and JavaScript API for parsing stdout from 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

  • terraform-repl

    A terraform console wrapper for a better interactive console experience

  • Terraform-Visual

    A simple but powerful tool to visualize Terraform plan

  • terraform.py

    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

  • terraformize

    Apply\Destroy Terraform modules via a simple REST API endpoint

  • terraformsh

    A wrapper in Bash for easier CLI UX and DRY hierarchical configs

  • terragrunt-atlantis-config

    Generate Atlantis config for Terragrunt projects

  • terragrunt

    Terragrunt is a thin wrapper for Terraform that provides extra tools for keeping your Terraform configurations DRY, working with multiple Terraform modules, and managing remote state

  • tenv

    OpenTofu/Terraform/Terragrunt version manager

  • Terrahaxs

    A GitOps Terraform CI/CD GitHub Application

  • terrahelp

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

  • terrahub

    TerraHub is terraform automation and orchestration tool. Seamlessly integrated into console.terrahub.io, enterprise friendly GUI to show realtime terraform executions, as well as auditing and reporting capabilities for historical terraform runs

  • terramagic

    Wizard tool for create folders and terraform files automated, written in Python !

  • terramate

    Tool for managing multiple Terraform stacks that comes with support for change detection and code generation

  • terrap-cli

    Terrap - a powerful CLI tool that scans your infrastructure and identifies any required changes

  • terrars

    Terrars is a tool for building Terraform stacks in Rust. This is an alternative to the CDK

  • terrascan

    Collection of security and best practice test for static code analysis of terraform templates

  • terrascope

    Build orchestrator for terraform monorepos

  • terrashine

    Terrashine is a terraform provider mirror1 implementation that works by automatically caching dependencies as providers are requested

  • terraspace

    The Terraform Framework

  • terrastate

    Visual Studio Code extension to monitor/deploy/destroy Terraform resources in your workspace

  • terratag

    Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources

  • tf-init-booster

    A Pre-terraform routine that speedups terraform modules download for bulky blueprints

  • tf-profile

    Profiler for Terraform runs. Generate global stats, resource-level stats or visualizations

  • tf-summarize

    A command-line utility to print the summary of the terraform plan

  • tfaction

    GitHub Actions collection for Opinionated Terraform Workflow

  • tfautomv

    Generate Terraform blocks automatically for painless refactoring

  • tfcmt

    CLI to notify the result of plan and apply as Pull Request comment

  • tfedit

    A refactoring tool for Terraform

  • tfenv

    Terraform version manager inspired by rbenv

  • tfgen

    Terraform code generator for consistent codebase and DRY

  • tfgpt

    A CLI tool that integrates Terraform with OpenAI's GPT-3.5 Turbo to provide explanations for Terraform commands and concepts

  • tfjson

    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

  • tfmake

    Automating Terraform with the power of make

  • tfmask

    Terraform utility to mask select output from and

  • tfmigrate

    A Terraform state migration tool for GitOps

  • tfmigrator

    Go library and CLI to migrate Terraform Configuration and State

  • tfprovidercheck

    CLI to prevent malicious Terraform Providers from being executed

  • tfocus

    tfocus is a super interactive tool for selecting and executing Terraform plan/apply on specific resources. Think of it as an "emergency tool" - not for everyday use

  • tfproviderlint

    Terraform Provider Lint Tool

  • tfrepl

    A Terraform REPL, giving you a full shell experience. Readline based. No dependencies. Save config changes. History

  • tfreveal

    A Terraform utility to show Terraform plans with all the secret (sensitive) values revealed

  • tfscaffold

    Framework for controlling multi-environment multi-component terraform-managed AWS infrastructure

  • tfschema

    Schema inspector for Terraform providers

  • tfsec

    Terraform static analysis tool that supports terraform <0.12 & >=0.12 & directly integrates with HCL parser for better results

  • tfsort

    CLI utility to sort Terraform variables and outputs

  • tftarget

    CLI Tool to do interactively

  • tftree

    Display your Terraform module call stack in your terminal

  • tftui

    A textual user interface for Terraform state

  • tfupdate

    Update version constraints in your Terraform configurations

  • tfvar

    tfvar scans your Terraform configurations or modules and extracts the variables into formats of your choice (tfvar, environment variables, etc.) for editing

  • tfvaultenv

    tfvaultenv reads secrets from HashiCorp Vault and outputs environment variables for various Terraform providers with those secrets

  • tfwrapper

    Rubygem providing rake tasks for running Hashicorp Terraform sanely

  • tgf

    Terragrunt frontend for executing Terragrunt/Terraform through Docker

  • tofuenv

    OpenTofu version manager inspired by tfenv

  • tpm

    A package manager for Terraform providers

  • travelgrunt

    cd inside [mono]repos without fatigue!

  • validIaC

    ValidIaC combines the best open-source tools to help ensure Terraform best practices, hygiene & security

  • xterrafile

    Systematically manage external modules from the module registry, git, or local directories for use in Terraform (written in Go)

  • yor

    Automatically tag and trace infrastructure as code frameworks (Terraform, Cloudformation, and Serverless)

  • Speakeasy

    Generate a terraform provider from an OpenAPI specification

Tools / CI

  • setup-terraform

    Sets up Terraform CLI in your GitHub Actions workflow

  • terraform-plan

    GitHub Action to run Terraform plan and add a comment with the changes

Tools / IDE

  • vscode-terraform-live-graph

    Terraform Live Graph Extension for Visual Studio Code is a plugin that allows you to generate a live Terraform graph as you code

Libraries

  • nu_plugin_hcl

    HCL parser plugin for

  • pyhcl

    HCL parser in Python

  • python-hcl2

    HCL2 parser in Python

  • rhcl

    Pure Ruby HCL parser

Boilerplates

  • Terraform Generator

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

  • Terraform GitOps Framework

    Everything you need to build reliable automation for AKS, EKS, and GKE Kubernetes clusters in one free and open-source framework

Self-hosted Terraform Platforms

  • Lynx

    Fast, Secure and Reliable Terraform Backend. It has a user-friendly dashboard, project and environment management, state versioning, locking and snapshots support

  • OTF

    Open Terraforming Framework, an open source alternative to Terraform Enterprise with full Terraform CLI integration

  • Terrakube

    Open Source alternative to Terraform Enterprise with private registry, remote state, custom flows, scheduled workspaces, and visual states

  • Digger

    Open Source Alternative to Terraform Cloud - Run Terraform plan & apply jobs in your CI

  • cloud-concierge

    Open Source, codify unmanaged resources as Terraform, detect drift, and cloud cost and security analysis, delivered as a Pull Request

  • Stack-Lifecycle-Deployment

    OpenSource solution that defines and manages the complete lifecycle of resources used and provisioned into a cloud

  • Burrito

    TACoS Kubernetes Operator - "ArgoCD for Terraform"

  • Terrateam

    Open-source alternative to Terraform Cloud/Enterprise, GitOps-first with native GitHub integration and designed for scale, security, and reliability

Managed Terraform Platforms

  • ControlMonkey

    Alternative to Terraform Cloud with Terraform/OpenTofu code generation, cloud inventory and IaC coverage. Includes out-of-the-box policies, drift remediation, and a ClickOps activity scanner

  • Firefly

    Alternative to Terraform Cloud by leveraging your CI tool. Firefly platform also scans your cloud to asses the IaC coverage & drift detection

  • Scalr

    Alternative to Terraform Enterprise with OPA integration, organizational structure, custom hooks, native integrations with other DevOps platforms, and centralized reporting

  • env0

    Alternative to Terraform Cloud/Enterprise with OPA integration, custom flows and Terragrunt support

  • Brainboard

    Visually Design, Deploy & Manage modern cloud infrastructures starting from any Cloud Provider - AWS, GCP, Azure

  • Spacelift

    Alternative to Terraform Cloud/Enterprise. Collaborative Infrastructure Delivery Platform for Terraform

Terraform Enterprise Tooling

Videos

Editor Plugins

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.