SuperAPI AI 工具集

terraform-review

部署与运维

查看项目

更新于 10-15 17:30

技能介绍

用途:对 Terraform 变更执行八类审查清单,适用于审查 Terraform 拉取请求、合并前验证基础设施变更、开 PR 前自审,以及审计既有 Terraform 代码。

主要能力:按结构、状态安全、安全、命名、模块、变量、Provider、CI/CD 八类逐项检查,不跳过任何类别,并输出结构化审查结果与结论。结构方面检查 live/、modules/、envs/ 布局,模块中每文件一个资源,terraform.tf 含 backend 与 provider 配置,variables.tf、outputs.tf、locals.tf 分离,且 PR 中不含 .terraform/ 或 .tfstate。状态安全方面禁止自动化中执行 terraform state 命令,要求状态存于 S3 并用 DynamoDB 锁定,关键资源加 prevent_destroy,安全组和启动配置使用 create_before_destroy,采用 import 块而非 terraform import CLI。安全方面禁止提交密钥,敏感变量标记 sensitive = true,S3 阻止公开访问,RDS/Redis 仅置私有子网,安全组遵循最小权限,启用加密,IAM 策略最小权限。命名方面使用 local.name_prefix 的 {project}-{service}-{env} 模式,统一标签(Project、Service、Environment、ManagedBy)。模块方面禁止模块内 provider 块,source 需版本锁定(如 ?ref=vX.Y.Z),无循环依赖,含 versions.tf。变量方面要求 description 与 type,敏感项标记,关键输入加 validation,无未使用变量。Provider 方面用 ~> 固定版本,指定 Terraform required_version,默认标签配置在 provider 层。CI/CD 方面要求 terraform fmt -check、terraform validate、plan 输出为 PR 评论、仅 main 合并时 apply、状态锁定防并发、密钥经 CI 环境注入。

使用方式:读取 PR 中所有变更的 .tf 文件,逐类别检查,区分阻断问题与建议,给出精确文件与行号。

限制:资料未提供安装命令、运行方式、价格或平台支持等具体信息;输出结论与分级标准以资料为准。