Terraform

Awesome Terraform Awesome

A curated list of resources on HashiCorp's Terraform. >您 contributions 受欢迎的!

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

Legend

-与_terraform> = 0.12_不兼容:ghost: -被遗弃的:头骨: -获利:heavy_dollar_sign:

Official Resources

Community

Books

Tutorials and Blog Posts

Beginner Guides

Writing Custom Providers

How-To

Multi-Environment Configuration

Azure

Miscellaneous

Community Modules

有关此处未列出的更多社区模块,请参见 Terraform Module Registry.

Private Module Registries

Providers

Testing

  • kitchen-terraform -提供了一组Test Kitchen插件,使系统可以使用Test Kitchen收敛Terraform配置并通过InSpec控件验证生成的Terraform状态.
  • rspec-terraform -针对您的Terraform模块的RSpec测试.
  • terraform-compliance -Terraform文件的BDD测试.
  • terraform_validate -协助在Terraform中实施用户定义的标准.
  • terratest -Terratest是一个Go库,可以更轻松地为基础结构代码编写自动化测试.
  • clarity -用于单元测试的Terraform的声明性测试框架.

Tools

  • AirIAM -AirIAM是AWS IAM拥有最低特权的Terraform执行框架的工具.
  • astro -Astro是用于将多个Terraform执行作为单个命令进行管理的工具. :鬼:
  • atlantis -统一的工作流程,可通过GitHub在Terraform上进行协作.
  • blast radius -Terraform依赖图的交互式可视化. :颅骨:
  • Checkov -用于Terraform> = 0.12的Terraform静态分析工具
  • Cloudrail -用于Terraform> = 0.12的Terraform和Live Cloud基于上下文的分析工具:heavy_dollar_sign:
  • flora -Terraform版本管理器.
  • fogg -消除管理Terraform信息库中的工作的工具.
  • former2 -从AWS账户中的现有资源生成Terraform配置.
  • hcledit -HCL的命令行编辑器.
  • iam-policy-json-to-terraform -将JSON格式的IAM策略转换为Terraform aws_iam_policy_document的小型工具
  • k2tf -Kubernetes YAML到Terraform HCL转换器.
  • KICS -扫描IaC项目中的安全漏洞,合规性问题和基础架构配置错误. Kubernetes清单,Dockerfile,AWS CloudFormation模板和Ansible剧本目前正在与Terraform项目一起使用.
  • Infracost -CLI和拉取请求中Terraform的云成本估算.
  • json2hcl -将JSON转换为HCL,反之亦然. :鬼:
  • modules.tf -基础结构作为代码生成器-通过使用 Cloudcraft.co 到Terraform. Source code.
  • para -缺少的第三方插件管理器和Terraform / Terragrunt的“瑞士军刀”-仅有1个工具可简化所有工作流程. :颅骨:
  • pre-commit-terraform -预先提交git挂钩,以处理Terraform配置(自动格式化,验证,更新文档).
  • pretf -嵌入式Terraform包装器,可使用Python生成Terraform配置. 看 pretf documentation
  • python-terrafile -系统地管理来自Github的外部模块,以在Terraform中使用.
  • prettyplan -Prettyplan([可在此处在线获得](https://chrislewisdev.github.io/prettyplan/))是一个小工具,可帮助您轻松查看大型Terraform计划. :鬼:
  • regula -在部署之前,评估Terraform基础架构代码是否存在潜在的AWS,Azure和Google Cloud安全性错误配置和合规性违规.
  • ruby-terraform -用于调用terraform命令的简单Ruby包装器.
  • scenery -另一个Terraform计划输出修饰词. :鬼:
  • scratchrelaxtv -一个简单的Python工具,可帮助模块开发-从main.tf中提取变量,以生成variables.tf,并从variables.tf中创建模块使用存根.
  • serverless.tf - Doing serverless with Terraform -serverless.tf是一个坚定的开源框架,用于使用Terraform在AWS上开发,构建,部署和保护无服务器应用程序和基础架构. Read more.
  • tads-boilerplate -Ansible和Terraform的强大功能+ Docker Swarm的简单性=基础架构(作为Code和DevOps的最佳实践).
  • tau -Tau是terraform之上的一个瘦包装器,用于管理多个部署,依赖项和秘密.
  • terraboard -Web仪表板以检查Terraform状态.
  • terraboot -DSL生成Terraform配置并运行它.
  • TerraDepot Terraform状态存储库,基于默认的http远程后端. 允许在AWS S3上对tfstates进行集中管理.
  • terrafile -系统地管理来自Github的外部模块,以在Terraform中使用(用Go编写).
  • terrafile -系统地管理来自Github的外部模块,以在Terraform中使用(用Ruby编写).
  • terraform-bundle -轻松构建包含Terraform二进制文件以及提供程序二进制文件的捆绑软件. 对于CI和空白的Terraform Enterprise非常有用.
  • terraform-docs -快速实用程序,可从terraform模块生成文档.
  • terraform-graph-beautifier -命令行工具,可将terraform graph命令的几乎不可用的输出转换为更有意义和更具说明性的内容.
  • terraform-landscape -(仅0.11和更早版本)改进Terraform的计划输出,使其更易于阅读和理解.
  • terraform-operator -Kubernetes CRD以处理Terraform操作.
  • terraform-plan-parser -命令行实用程序和JavaScript API,用于从“ terraform plan”中解析标准输出并将其转换为JSON. :鬼:
  • terraform-provisioner -用于管理同一Terraform脚本的多个配置的工具.
  • terraform-rake-tasks -共享的Rake任务,用于管理Terraform计划.
  • terraform.py -Ansible动态清单脚本,用于解析Terraform状态文件.
  • terraformer -CLI工具,用于从现有基础架构生成terraform文件. 代码基础架构. 支持许多提供商.
  • terraforming -将现有的AWS资源导出为Terraform样式(tf,tfstate). 类似于terraformer.
  • Terraform-Visual 一个简单但功能强大的工具,可用于可视化Terraform计划.
  • terragrunt -Terragrunt是Terraform的薄包装,它提供了额外的工具来使您的Terraform配置保持干燥,与多个Terraform模块一起使用以及管理远程状态.
  • terrahelp -旨在提供补充功能的命令行实用程序,在使用Terraform时有时会被证明是有用的.
  • terrahub -TerraHub是Terraform自动化和编排工具. 与企业友好的GUI无缝集成到console.terrahub.io中,以显示实时Terraform执行以及历史Terraform运行的审核和报告功能. :heavy_dollar_sign:
  • terrascan -收集用于Terraform模板的静态代码分析的安全性和最佳实践测试
  • terraspace -Terraform框架
  • terratag -Terratag是一个CLI工具,使Terraform的用户可以在其整个AWS,Azure和GCP资源的整个集合中自动创建和维护标签.
  • tf-init-booster 加速terraform模块的Pre-terraform例程下载了庞大的蓝图.
  • tfsec -支持terraform <0.12&> = 0.12的Terraform静态分析工具,并直接与HCL解析器集成以获得更好的结果.
  • tfenv -受rbenv启发的Terraform版本管理器.
  • tfjson -读取Terraform计划文件并将其转储为JSON的实用程序. :颅骨:
  • tflint -Terrain linter,用于检测“ terraform plan”无法检测到的错误
  • tfmask -Terraform实用程序,用于屏蔽“ terraform plan”和“ terraform apply”中的选择输出
  • tfmigrate -用于GitOps的Terraform状态迁移工具.
  • tfscaffold -用于控制多环境多组件地形管理的AWS基础架构的框架.
  • tfschema -Terraform提供程序的架构检查器.
  • tfupdate -更新Terraform配置中的版本限制.
  • tfwrapper -Rubygem提供耙任务,以合理地运行Hashicorp Terraform.
  • tgf -Terragrunt前端,用于通过Docker执行Terragrunt / Terraform.
  • xterrafile 从模块注册表,git或本地目录中系统地管理外部模块,以在Terraform中使用(用Go编写).

Libraries

Boilerplates

  • Terraform Generator -在测试框架(terratest和kitchen-terraform)的支持下,用于新的Terraform模块或项目的脚手架

Terraform Enterprise

Talks

Editor Plugins

License

CC0

Shuaib Yunus在法律允许的范围内放弃了本作品的所有版权以及相关或邻近的权利.