terraform-module-library
为AWS、Azure和GCP基础设施构建可复用的Terraform模块,遵循基础设施即代码最佳实践。适用于创建基础设施模块、标准化云资源配置或实现可复用的IaC组件场景。
作者
分类
开发工具安装
热度:0
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-terraform-module-library&locale=zh&source=copy
Terraform Module Library - 生产级基础设施模块库
技能概述
Terraform Module Library 提供跨 AWS、Azure、GCP 三大云平台的生产级可复用 Terraform 模块,帮助团队建立标准化基础设施即代码(IaC)实践。
适用场景
1. 构建可复用基础设施组件
当你需要为 VPC、Kubernetes 集群、数据库等常见资源创建标准化、可复用的 Terraform 模块时。该技能提供完整的模块结构模板,包括
main.tf、variables.tf、outputs.tf、versions.tf 标准文件,以及示例代码和测试框架。2. 多云环境基础设施标准化
当你的组织需要在 AWS、Azure、GCP 上统一基础设施部署模式时。该技能提供跨云平台的模块设计模式,帮助建立组织级 Terraform 标准,包括变量验证、资源标签、输出设计等最佳实践。
3. 实现 IaC 最佳实践和模块测试
当你需要编写高质量、可测试的 Terraform 模块时。该技能涵盖输入验证、条件资源、模块组合、Terratest 集成测试等完整开发流程,确保模块的生产就绪性。
核心功能
标准模块结构模板
提供经过验证的 Terraform 模块目录结构,包含主资源定义、输入变量、输出值、版本锁定、README 文档、使用示例和 Terratest 测试文件。支持 AWS VPC、EKS、RDS、S3,Azure VNet、AKS、Storage,以及 GCP VPC、GKE、Cloud SQL 等常见资源类型。
输入验证与最佳实践
内置变量验证块(validation)、条件资源创建(count/for_each)、资源标签合并、语义版本控制等生产级特性。提供详细的模块组合示例,展示如何通过模块输出来连接多个模块,构建完整基础设施栈。
完整测试与示例代码
每个模块配备
examples/complete/ 使用示例和 tests/ Terratest 测试文件,帮助验证模块功能正确性。支持模块开发者快速验证变更,确保模块升级不破坏现有功能。常见问题
Terraform 模块的基本结构是什么?
标准 Terraform 模块包含
main.tf(主资源定义)、variables.tf(输入变量声明)、outputs.tf(输出值定义)、versions.tf(Provider 版本锁定),以及可选的 README.md、examples/ 示例目录和 tests/ 测试目录。变量应包含 description 和可选的 validation 块,输出应暴露模块用户需要的资源属性。如何编写可复用的 Terraform 模块?
遵循以下原则:使用变量而非硬编码值、提供合理的默认值、添加变量验证、输出关键属性用于模块组合、使用
merge() 函数支持标签自定义、用 count 或 for_each 实现条件资源创建、提供完整的使用示例和测试。同时,遵循语义版本控制,在 versions.tf 中锁定 Provider 版本。Terraform 模块如何进行输入验证?
使用
validation 块对变量值进行校验,例如 CIDR 格式验证、实例类型白名单检查等。验证失败时会显示自定义错误消息,帮助用户快速定位问题。对于复杂验证逻辑,可以使用 can() 和 regex() 函数组合实现。该技能的示例模块展示了常见的验证模式。