Terraform

Awesome Terraform Awesome

> 精选的资源列表 HashiCorp's Terraform.

> 你 contributions 受欢迎的!

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

由...赞助 Scalr - Terraform Automation & Collaboration Software

Scalr - Terraform Automation & Collaboration Software

Legend

  • 不兼容 terraform >= 0.12 👻
  • 被遗弃的:头骨:
  • 货币化: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 Way - 深入了解 AWS Lambda,超越执行功能,使用 Terraform. 还包括与 S3、API Gateway、DynamoDB、Kinesis、SQS 集成的指南.

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 的 Terraform 静态分析工具>=0.12
  • Cloudrail - Terraform 和 Live Cloud 基于上下文的分析工具,用于 terraform>=0.12 💲
  • 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 项目的安全漏洞、合规性问题和基础设施配置错误. 目前正在处理 Terraform 项目、Kubernetes 清单、Dockerfiles、AWS CloudFormation 模板和 Ansible playbooks.
  • Infracost - CLI 和拉取请求中 Terraform 的云成本估算.
  • json2hcl - 将 JSON 转换为 HCL,反之亦然. :鬼:
  • modules.tf - 基础设施作为代码生成器 - 来自使用创建的可视化图表 Cloudcraft.co 到地形. Source code.
  • para - 缺少的第 3 方插件管理器和用于 Terraform/Terragrunt 的“瑞士军刀” - 仅 1 个工具可以促进所有工作流程. :颅骨:
  • pre-commit-terraform - 预先提交 git hooks 来处理 Terraform 配置(自动格式化、验证、更新文档).
  • pretf - 使用 Python 生成 Terraform 配置的嵌入式 Terraform 包装器. 看 pretf documentation
  • python-terrafile - 系统地管理来自 Github 的外部模块以在 Terraform 中使用.
  • prettyplan - Prettyplan([此处在线提供] (https://chrislewisdev.github.io/prettyplan/))是一个小工具,可帮助您轻松查看大型 Terraform 计划. :鬼:
  • regula - 在部署之前针对潜在的 AWS、Azure 和 Google Cloud 安全配置错误和合规性违规评估 Terraform 基础设施即代码.
  • 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 的简单性 = 基础设施即代码和 DevOps 最佳实践.
  • tau - Tau 是 terraform 之上的一个瘦包装器,用于管理多个部署、依赖项和机密.
  • terraboard - 用于检查 Terraform 状态的 Web 仪表板.
  • terraboot - 用于生成 terraform 配置并运行它的 DSL.
  • TerraDepot Terraform 状态存储库,基于默认的 http 远程后端. 允许在 AWS S3 上集中管理 tfstates.
  • terrafile - 系统地管理来自 Github 的外部模块以用于 Terraform(用 Go 编写).
  • terrafile - 系统地管理来自 Github 的外部模块以用于 Terraform(用 Ruby 编写).
  • terraform-bundle - 轻松构建包含 Terraform 二进制文件和提供程序二进制文件的包. 对 CI 和气隙 Terraform Enterprise 很有用.
  • terraform-cdk - 用于 Terraform 的 CDK(云开发套件)允许开发人员使用熟悉的编程语言来定义云基础架构并通过 HashiCorp Terraform 进行配置.
  • terraform-docs - 从 terraform 模块生成文档的快速实用程序.
  • terraform-graph-beautifier - 命令行工具允许将 terraform graph 命令几乎不可用的输出转换为更有意义和解释性的内容.
  • terraform-landscape - (仅 0.11 及更早版本) 改进 Terraform 的计划输出,使其更易于阅读和理解.
  • terraform-operator - 用于处理 Terraform 操作的 Kubernetes CRD.
  • terraform-plan-parser - 命令行实用程序和 JavaScript API,用于从 terraform plan 解析标准输出并将其转换为 JSON. :鬼:
  • terraform-provisioner - 用于管理相同 Terraform 脚本的多个规定的工具.
  • terraform-rake-tasks - 用于管理 terraform 计划的共享 Rake 任务.
  • terraform.py - 用于解析 Terraform 状态文件的 Ansible 动态清单脚本.
  • terraformer - 用于从现有基础设施生成 terraform 文件的 CLI 工具. 基础设施到代码. 支持许多提供商.
  • terraforming - 将现有的 AWS 资源导出为 Terraform 样式(tf、tfstate). 类似于terraformer.
  • Terraform-Visual 一个简单但功能强大的工具,用于可视化 Terraform 计划.
  • terragrunt - Terragrunt 是 Terraform 的瘦包装器,它提供了额外的工具来保持您的 Terraform 配置干燥、使用多个 Terraform 模块以及管理远程状态.
  • terrahelp - 旨在提供补充功能的命令行实用程序,有时在使用 Terraform 时证明很有用.
  • terrahub - TerraHub 是 terraform 自动化和编排工具. 无缝集成到 console.terrahub.io,企业友好的 GUI 以显示实时 terraform 执行,以及历史 terraform 运行的审计和报告功能. 💲
  • terrascan - terraform 模板静态代码分析的安全性和最佳实践测试集
  • terraspace - Terraform 框架
  • terratag - Terratag 是一个 CLI 工具,它使 Terraform 的用户能够在他们的整个 AWS、Azure 和 GCP 资源集上自动创建和维护标签.
  • tf-init-booster 一个 Pre-terraform 例程,可加速 terraform 模块下载庞大的蓝图.
  • tfsec - Terraform 静态分析工具,支持 terraform <0.12 & >=0.12 & 直接与 HCL 解析器集成以获得更好的结果.
  • tfenv - 受 rbenv 启发的 Terraform 版本管理器.
  • tfjson - 读取 Terraform 计划文件并将其转储到 JSON 中的实用程序. :颅骨:
  • tflint - Terraform linter 用于检测“terraform plan”无法检测到的错误
  • tfmask - Terraform 实用程序可以屏蔽来自“terraform plan”和“terraform apply”的选择输出
  • tfmigrate - GitOps 的 Terraform 状态迁移工具.
  • tfscaffold - 用于控制多环境多组件 terraform 管理的 AWS 基础设施的框架.
  • tfschema - Terraform 提供程序的架构检查器.
  • tfupdate - 更新 Terraform 配置中的版本约束.
  • tfwrapper - Rubygem 为运行 Hashicorp Terraform 提供 rake 任务.
  • tgf - Terragrunt 前端,用于通过 Docker 执行 Terragrunt/Terraform.
  • xterrafile 从模块注册表、git 或本地目录系统地管理外部模块以在 Terraform 中使用(用 Go 编写).
  • yor - 自动将基础设施标记和跟踪为代码框架(Terraform、Cloudformation 和 Serverless).

Libraries

  • pyhcl - Python 中的 HCL 解析器
  • python-hcl2 - Python 中的 HCL2 解析器
  • rhcl - 纯 Ruby HCL 解析器

Boilerplates

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

Terraform Enterprise

Videos

Editor Plugins

License

CC0

在法律允许的范围内,Shuaib Yunus 已放弃本作品的所有版权和相关或邻接权.