用途:在 AWS、Azure、GCP 上用 Terraform 实现基础设施即代码,产出模块结构、后端与 provider 配置、示例用法及设计说明。
主要能力:分析基础设施需求;设计可组合、带校验的模块(输入/输出/版本化);配置带锁与加密的远程后端;应用安全策略、最小权限与加密;提供模块模式、状态管理、provider、测试和最佳实践等参考文档。
使用流程:分析现状与云平台→设计模块→配置远程状态→加固安全→运行 terraform fmt 与 terraform validate,再运行 tflint,报错修复后重跑直至通过→运行 terraform plan -out=tfplan 并提取摘要,突出创建、更新、删除及重建/删除等破坏性操作→向用户展示计划摘要并请求明确批准,仅在确认后执行 terraform apply tfplan;未获批准或存在未明确接受的破坏性变更时拒绝应用。
错误恢复:校验失败则修复后重跑 validate 与 tflint;plan 失败时,状态漂移用 terraform refresh 或 terraform state rm / terraform import 对齐后重新 plan;provider 认证问题检查凭证与配置,必要时重跑 terraform init;依赖顺序问题补充 depends_on 或调整模块输出。修复后须回到校验步骤再重新 plan。
约束:使用语义化版本并锁定 provider 版本;启用带锁与加密的远程状态;用 validation 块校验输入;统一命名并标记所有资源;记录模块接口。禁止明文存储密钥、硬编码环境值、生产使用本地状态或跳过状态锁、无约束混用 provider 版本、循环模块依赖、跳过输入校验、提交 .terraform 目录。
输出:模块结构(main.tf、variables.tf、outputs.tf)、后端与 provider 配置、含 tfvars 的示例用法及简要设计决策说明。由 @jeffallan 维护。具体收费、平台限制与更多使用步骤暂未提供。