技能 terraform-module-library
📦

terraform-module-library

安全

构建可重用的 Terraform 模块用于多云基础设施

也可从以下获取: wshobson

基础设施团队常常面临难以维护的不一致、一次性 Terraform 配置问题。本技能提供适用于 AWS、Azure 和 GCP 的生产级模块模式,帮助您的组织标准化云资源配置。

支持: Claude Codex Code(CC)
🥉 75 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“terraform-module-library”。 生成一个 AWS VPC 模块,包含跨可用区的两个私有子网

预期结果:

创建包含 VPC 和子网资源的 main.tf、包含 CIDR 和 AZ 参数的 variables.tf、暴露资源 ID 的 outputs.tf,以及用于输入格式的验证规则。

正在使用“terraform-module-library”。 添加验证以确保 RDS 实例类来自允许的列表

预期结果:

添加 HCL 验证块,检查 instance_class 是否符合允许的值(如 db.t3.micro 到 db.r5.24xlarge),并提供描述性错误消息。

安全审计

安全
v1 • 2/25/2026

All 58 static analysis findings are false positives. The 'backtick execution' patterns are markdown code fences, 'path traversal' sequences are Terraform module references, 'hardcoded IPs' are private CIDR examples, and 'weak crypto' matches are HCL validation regex patterns. The skill contains only documentation and Terraform configuration examples with no executable code or security risks.

2
已扫描文件
328
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

41
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

DevOps 工程师构建标准模块

创建可重用的 VPC 和 EKS 模块库,具有一致的标签、验证和测试模式,供整个组织使用。

云架构师建立 IaC 标准

定义多云模块模式,在 AWS、Azure 和 GCP 上强制执行安全最佳实践、命名约定和资源配置。

平台团队自动化资源配置

构建自助服务模块目录,使开发团队能够在无需深入 Terraform 专业知识的情况下配置标准化基础设施。

试试这些提示

基础 VPC 模块
为 AWS 创建一个包含公有和私有子网的 Terraform VPC 模块。包括用于 CIDR 块、可用区和标签的变量。添加用于 VPC ID 和子网 ID 的输出值。
带验证的 RDS 模块
构建用于 PostgreSQL 的 Terraform RDS 模块,包含对引擎版本、实例类和存储大小的输入验证。包括条件式只读副本配置和安全组规则。
多云存储模块
为 AWS S3、Azure Blob Storage 和 GCP Cloud Storage 设计等效的存储模块。每个模块应支持版本控制、加密、生命周期策略和访问日志记录,并使用一致的变量名。
完整的 EKS 模块及测试
创建一个生产就绪的 EKS 模块,包含托管节点组、IRSA 配置和集群日志记录。包括验证集群创建和输出的 Terratest 测试文件。

最佳实践

  • 对模块使用语义化版本控制,并在 versions.tf 中固定提供程序版本
  • 为所有变量编写描述、类型和默认值文档
  • 在 examples/ 目录中包含可工作的示例,在 tests/ 目录中包含 Terratest 测试

避免

  • 在特定于环境的配置中使用硬编码值而不是变量
  • 省略模块使用者组合所需的输出值
  • 编写模块时未为关键输入参数添加验证块

常见问题

这些模块需要什么 Terraform 版本?
模块面向 Terraform 1.0+ 和 AWS 提供程序版本 5.x。提供程序版本约束在每个模块的 versions.tf 文件中指定。
我可以同时使用这些模块与多个云提供商吗?
可以。每个模块特定于提供程序,可以通过配置多个提供程序并从不同云目录调用模块,在单个 Terraform 配置中组合使用。
如何在部署到生产环境之前测试模块?
使用 tests/ 目录中提供的 Terratest 模板。针对沙盒 AWS 账户运行测试,并在验证后使用测试清理中的 terraform.Destroy 销毁资源。
这些模块是否与 Terraform Cloud 或 Enterprise 兼容?
是的。模块遵循标准 Terraform 模式,兼容所有 Terraform 执行环境,包括 CLI、Cloud 和 Enterprise,只需适当的工作区配置。
如何在这些模块中处理机密信息?
切勿在模块文件中硬编码机密。使用标记为 sensitive=true 的变量,并通过环境变量、Terraform Cloud 变量或外部机密管理系统传递值。
我可以贡献这些模块模式的改进吗?
可以。遵循标准模块结构,为新功能添加测试,更新 README 文档,并确保示例展示完整的可工作配置。

开发者详情

文件结构