Terraform Validator 是一个面向 Terraform 配置的综合验证工具包,旨在通过自动化工作流完成语法验证、安全扫描和智能文档查询。它适用于处理 .tf、.tfvars、.tfstate 文件,进行配置语法与结构验证、HCL 代码格式化与 lint、terraform plan 干跑测试、调试 Terraform 错误或配置错误、理解自定义 provider 或模块,以及安全验证。
主要能力包括:运行 terraform fmt 进行格式化,terraform init 和 terraform validate 进行语法验证,tflint 进行高级 lint(可选),checkov 进行安全扫描,以及通过 Context7 或 WebSearch 查询 provider 文档。工具包还提供脚本用于提取 provider/模块信息、运行 checkov 扫描和安装 checkov。
使用方式遵循严格的工作流:首先识别范围内的 Terraform 文件,然后运行 extract_tf_info_wrapper.sh 提取 provider 和模块信息,接着对每个 provider(包括显式和隐式)进行 Context7 文档查询,若未找到则回退到 WebSearch。之后必须阅读 references/security_checklist.md 和 references/best_practices.md,再依次运行 terraform fmt、tflint(如可用)、terraform init、terraform validate、run_checkov.sh 安全扫描,交叉引用安全清单,生成报告,并运行回归测试和轻量级 CI 检查。
适用场景包括单文件验证、完整模块验证和生产环境干跑测试。限制方面:需要安装 terraform、checkov 等工具,部分工具如 tflint 为可选;Context7 可能不包含某些 provider(如 random、null、local、time、tls),需使用 WebSearch 回退;安全扫描需要 checkov,若缺失需用户确认安装。所有步骤必须按顺序执行,参考文件必须在安全扫描前阅读。