用途:在编写或审查任意云厂商(AWS、GCP、Azure)的 Terraform HCL、设计可复用模块与模块仓库结构、搭建或迁移远程状态后端(S3、GCS、Terraform Cloud)、管理多环境(dev/staging/prod)、诊断真实基础设施与状态之间的漂移,以及运行或解读 terraform plan、apply、import 与 state 操作时触发。不适用于 Kubernetes 清单编写和应用级配置管理(Ansible、Chef、Puppet)。
主要能力与原则:声明式优先于命令式;可复用模式一律抽成模块;生产状态始终放远程后端并加锁;先 plan 后 apply 并在 CI 中自动化;provider 凭据遵循最小权限。核心概念涵盖 providers、resources、data sources、modules、state、workspaces、backends。
使用方式:项目以 versions.tf(固定 required_version 与 provider 版本、配置 backend)、providers.tf、variables.tf 三个基础文件起步;模块目录含 main.tf、variables.tf、outputs.tf;用 terraform workspace new/select 管理临时环境;用 import 块或 terraform import 纳管既有资源;状态操作前先 terraform state pull 备份,再用 state mv、state rm、taint 或 apply -replace;漂移检测用 terraform refresh 后 plan,CI 中可用 terraform plan -detailed-exitcode(退出码 2 表示有差异)。
限制与注意:状态后端桶与锁表须在 terraform init 前用独立配置或手动创建,不能由使用它的同一配置管理;state rm 不会销毁真实资源;未固定 provider 版本会在升级时静默破坏配置;workspaces 共享后端,生产与预发建议用独立状态路径或独立账号。首次激活时会检查配套技能,缺失时提示安装命令 npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name>。