用途
terraform-patterns 是一套面向 Claude Code、Codex、Gemini CLI、Cursor、OpenClaw 等 AI 编程助手的 Terraform 基础设施即代码(IaC)技能与插件。它的定位不是 Terraform 入门教程,而是一组关于如何编写不会在凌晨三点崩溃的基础设施代码的具体决策,目标是让 HCL 从散乱状态变为结构良好、安全、可用于生产的代码。覆盖范围包括模块设计、状态管理、Provider 模式、安全加固与 CI/CD 集成。
主要能力
技能提供三个斜杠命令:
- /terraform:review:分析 Terraform 代码中的反模式、安全问题与结构问题。
- /terraform:module:设计或重构 Terraform 模块,处理输入、输出与组合。
- /terraform:security:审计 Terraform 代码的安全漏洞、密钥暴露与 IAM 错误配置。
技能会在用户出现诸如“Review this Terraform code”“Design a Terraform module for...”“My Terraform state is...”“Set up remote state backend”“Multi-region Terraform deployment”“Terraform security review”“Module structure best practices”“Terraform CI/CD pipeline”等表达,或涉及 .tf 文件、HCL、Terraform 模块、状态管理、Provider 配置、基础设施即代码时激活。若用户持有 .tf 文件或想用 Terraform 配置基础设施,即适用该技能。
使用方式
/terraform:review 会读取目标目录下全部 .tf 文件,识别模块结构(扁平或嵌套),统计资源、数据源、变量与输出,检查命名约定,并按模块结构、状态与后端、Provider、安全四类清单逐项核查,最后运行 python3 scripts/tf_module_analyzer.py ./terraform 生成报告,并运行 python3 scripts/tf_security_scanner.py ./terraform 执行安全扫描。
/terraform:module 会确定模块范围(单一职责)、输入输出与资源边界,选择扁平或嵌套结构,按结构、变量、输出、组合四类清单设计,并生成含样板代码、变量校验块与生命周期规则的模块骨架。推荐结构包含 main.tf、variables.tf、outputs.tf、versions.tf、locals.tf、data.tf 与 README.md。
/terraform:security 进行代码级与状态级两类审计。代码级检查项包括:.tf 中的硬编码密钥(严重)、含 * 动作的 IAM 策略(严重)、22/3389 端口对 0.0.0.0/0 开放的安全组(严重)、S3 未加密、S3 公开访问、RDS 未加密、RDS 可公开访问(高)、未启用 CloudTrail、有状态资源缺少 prevent_destroy、密钥变量未标记 sensitive(中)。状态级检查项包括:本地状态文件(严重)、远程状态未加密、无状态锁定、状态对所有团队成员可访问(高/中)。报告命令为 python3 scripts/tf_security_scanner.py ./terraform,可加 --output json 输出 JSON,或用 --strict 提升警告级别。
配套工具包括 scripts/tf_module_analyzer.py(资源与数据源计数、变量与输出分析、命名约定检查、模块组合检测、文件结构校验,支持 JSON 与文本输出)和 scripts/tf_security_scanner.py(硬编码密钥检测、过度宽松 IAM 策略检测、开放安全组检测、缺少加密检查、公开访问检测、敏感变量审计,支持 JSON 与文本输出)。
设计模式与集成
资料给出三种模块设计模式:扁平模块(适用于单一应用、少于 20 个资源、单一团队)、嵌套模块(适用于多环境、共享基础设施模式、团队协作)、Terragrunt 单仓(适用于大规模、多环境、DRY 配置、团队级隔离)。Provider 配置模式包含版本固定(~> 5.0)、区域别名与 Assume Role 多账户。状态管理决策树区分本地状态、Terraform Cloud 原生后端,以及 AWS S3+DynamoDB、GCP GCS、Azure Blob、Consul 或 PostgreSQL 等后端,环境隔离推荐按环境拆分状态文件或使用 workspaces。CI/CD 集成给出 GitHub Actions 的 plan/apply 示例与基于 cron 的漂移检测示例。此外还涵盖多云 Provider 配置、OpenTofu 兼容与迁移(brew install opentofu / snap install --classic tofu,state 文件兼容)、以及 Infracost 的 PR 成本估算工作流。技能还包含主动触发器,会在未配置远程后端、Provider 无版本约束、硬编码密钥、IAM 通配动作、SSH/RDP 开放、无状态锁定、资源缺标签、数据库缺 prevent_destroy 等情况主动提示。
适用场景与限制
适用于需要以 Terraform 编写、审查、重构、加固生产级基础设施代码的工程师与团队,尤其是关注模块结构、状态安全与 CI/CD 自动化的场景。资料未提供该技能的收费、价格、平台分发细节或具体效果说明,这些事实暂未提供。多云端使用方面,资料明确指出:仅以“避免供应商锁定”为由不足以支撑多云,多云会使运维复杂度翻倍,除非有具体业务需求,否则优先单云。