用途:在修改 Terraform/OpenTofu 代码后,按标准流程对测试环境执行格式化、校验与计划检查,并审查 terraform plan 结果,以确认改动符合预期、保持向后兼容。入口命令:/test-changes。
主要能力与流程:1)terraform fmt -recursive 格式检查;2)禁止使用 null_resource/hashicorp/null,应改用内置 terraform_data;3)terraform init -backend=false;4)terraform validate;5)在临时副本上做 OpenTofu 兼容校验(tofu init/validate);6)校验 kube.tf.example 可解析;6.5)在使用 uv 运行脚本校验大规模 Tailscale 示例;6.6)校验 v3 最终面;6.7)运行 v3 blast-radius plan 矩阵;7)在现有集群根目录执行 terraform init -upgrade;8)terraform plan 并审查输出。
使用方式:通常依次执行上述命令;完整序列可用文档中的命令串联方式运行。计划步骤需指定现有的集群 Terraform 根目录。apply 为可选,仅在对真实基础设施测试时执行,会实际修改基础设施。销毁实时测试环境时建议运行脚本 scripts/destroy.sh -auto-approve;仅在报告显示残留或状态损坏后,才使用 scripts/cleanup.sh 作为强制兜底。自动扩缩容创建的服务器不在 Terraform 状态中,销毁时需注意顺序。
适用场景:Terraform/OpenTofu 模块变更后的验证;涉及 Cilium Gateway API、内嵌 registry mirror、Tailscale 节点传输、多网络、端点模式、拓扑与 Cloudflare 边界等改动时的校验。
限制与注意:plan 中出现 will be destroyed、must be replaced、forces replacement 等资源重建迹象应停止,视为破坏性变更,需要大版本升级与迁移指南。空状态文件不能证明升级安全,可使用 tag 与 branch 的 plan-address-set 差异作为结构性代理。CI 仅做低成本检查,HCloud 相关 plan/apply、Kubernetes 检查与销毁应在本地维护的测试根目录执行。最终定稿前需获得独立评审。其他未提供的信息暂未提供。