跳转到主要内容
SEO Title

category

Terraform 使您能够安全且可预测地创建、更改和改进生产基础架构。 它是一个开源工具,可将 API 编码为声明性配置文件,可以在团队成员之间共享、视为代码、编辑、审查和版本化。

Contents

Legend

  • Not compatible with terraform >= 0.12 👻
  • Abandoned 💀
  • Monetized 💲

Official Resources

Community

Books

Tutorials and Blog Posts

Beginner Guides

Writing Custom Providers

How-To

Multi-Environment Configuration

Azure

AWS

Google Cloud

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
  • modulehub - Private Terraform Module Registry and State backend.
  • terraform-simple-registry - Simple implementation of the Terraform registry protocols.
  • terraform-registry - Serve terraform provider registry backed by GitHub releases.

Private Provider Registries

  • terustry - Open Source terraform provider registry acting as a proxy for gitlab or github releases.

Providers

Hashicorp supported providers

Vendor supported 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.
  • clarity - A declarative test framework for Terraform for unit testing.

Tools

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

  • astro - Astro is a tool for managing multiple Terraform executions as a single command. 👻

  • atmos - A universal tool that converts deep merged YAML to module inputs. 👽

  • atlantis - Unified workflow for collaborating on Terraform through GitHub.

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

  • blast radius - Interactive visualizations of Terraform dependency graphs. 💀

  • Checkov - Terraform static analysis tool for terraform>=0.12

  • Cloudrail - Terraform and Live Cloud context-based analysis tool for terraform>=0.12 💲

  • driftctl - Detect, track and alert on infrastructure drift

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

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

  • 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

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

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

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

  • 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 - Prettyplan (available online here) is a small tool to help you view large Terraform plans with ease. 👻

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

  • rover - Interactive Terraform state and configuration explorer.

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

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

  • Shisho - Lightweight static analyzer for Terraform.

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

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

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

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

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

  • 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 console.terrahub.io, enterprise friendly GUI to show realtime terraform executions, as well as auditing and reporting capabilities for historical terraform runs. 💲

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

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

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

  • tfaction - GitHub Actions collection for Opinionated Terraform Workflow

  • tfcmt - CLI to notify the result of plan and apply as Pull Request comment.

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

  • tfmigrator - Go library and CLI to migrate Terraform Configuration and State

  • tfscaffold - Framework for controlling multi-environment multi-component terraform-managed AWS infrastructure.

  • tfschema - Schema inspector for Terraform providers.

  • tfupdate - Update version constraints in your Terraform configurations.

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

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

Libraries

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.

Terraform Enterprise

  • terraform-enterprise-cli - Terraform Enterprise Command Line Interface.
  • terraform-enterprise-client - Terraform Enterprise API Ruby Client and Command Line tool.
  • terraform-enterprise-migrator - Script for migrating Terraform Enterprise environments from Legacy to new version of Terraform Enterprise.
  • tfe-state-explorer - Simple shell for exploring remote terraform enterprise state, with autocomplete. 💀
  • Scalr - Alternative to Terraform Enterprise with OPA integration 💲
  • env0 - Alternative to Terraform Cloud/Enterprise with OPA integration, custom flows and Terragrunt support 💲
  • modulehub - Private Terraform Module Registry and State backend.
  • Brainboard - Visually Design, Deploy & Manage modern cloud infrastructures starting from any Cloud Provider - AWS, GCP, Azure
  • Terrakube - Open Source alternative to Terraform Enterprise with private registry, remote state, custom flows, scheduled workspaces and visual states.

Videos

Editor Plugins

原文:https://github.com/shuaibiyy/awesome-terraform

文章链接