Git Product home page Git Product logo

awesome-terraform's Introduction

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.

Contents

Official Resources

Community

Books

Tutorials and Blog Posts

Beginner Guides

Writing Custom Providers

How-To

Multi-Environment Configuration

Azure

Miscellaneous

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.

Providers

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

Tools

  • 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.
  • geopoiesis - Specialized continuous integration and deployment tool for modern declarative infrastructure provisioning and management.
  • 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.
  • modules.tf - Infrastructure as code generator - from visual diagrams created with Cloudcraft.co to Terraform. Source code.
  • pre-commit-terraform - pre-commit git hooks to take care of Terraform configurations (auto-format, validate, update docs).
  • python-terrafile - Systematically manage external modules from Github for use in Terraform.
  • ruby-terraform - Simple Ruby wrapper for invoking terraform commands.
  • scenery - Another Terraform plan output prettifier.
  • scratchrelaxtv - 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.
  • terraboard - Web dashboard to inspect Terraform States.
  • terraboot - DSL to generate a terraform configuration and run it.
  • 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 - Improve Terraform's plan output to be easier to read and understand.
  • terraform-plan-parser - 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.
  • 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 few providers.
  • terragrunt - Terragrunt is a thin wrapper for Terraform that supports locking for Terraform state and enforces best practices.
  • 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.
  • terrascan - Collection of security and best practice test for static code analysis of terraform templates
  • tfenv - Terraform version manager inspired by rbenv.
  • 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 terraform plan
  • tfmask - Terraform utility to mask select output from terraform plan and terraform apply
  • tfscaffold - Framework for controlling multi-environment multi-component terraform-managed AWS infrastructure.
  • tfschema - Schema inspector for Terraform providers.
  • 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).

Libraries

  • pyhcl - HCL parser in Python
  • rhcl - Pure Ruby HCL parser

Terraform Enterprise

Talks

Editor Plugins

License

CC0

To the extent possible under law, Shuaib Yunus has waived all copyright and related or neighboring rights to this work.

awesome-terraform's People

Contributors

28mm avatar alfred-nsh avatar antonbabenko avatar captn3m0 avatar chenrui333 avatar chiefy avatar davewongillies avatar davidbegin avatar dawitnida avatar displague avatar dohsimpson avatar drubin avatar dwsr avatar eistrati avatar gepser avatar ianwelsh avatar korfuri avatar lkaemmerling avatar mechastorm avatar mikaelkrief avatar minamijoyo avatar nitrocode avatar php-coder avatar pysysops avatar sergeylanzman avatar shuaibiyy avatar sl1pm4t avatar sryabkov avatar syndbg avatar yakdriver avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.