名称: terraform-基础设施 描述: 带有安全控制的 Terraform 基础设施操作 版本: 1.0.0 模型: sonnet 调用方式: 两者 用户可调用: 是 工具: [Bash, Read, Glob] 最佳实践:
- 在应用前始终运行计划
- 仔细审查计划输出
- 永远不要强制推送到生产环境 错误处理: 优雅 流式传输: 支持 已验证: 假 最后验证时间: 2026-02-19T05:29:09.098Z
Terraform 基础设施技能
安装
技能调用 Terraform CLI。安装:
- macOS:
brew tap hashicorp/tap && brew install hashicorp/tap/terraform - Windows:
choco install terraform或从 HashiCorp 下载 - Linux (apt): 添加 HashiCorp 仓库,然后
sudo apt update && sudo apt install terraform(见 HashiCorp 安装)
验证: terraform --version
速查表与最佳实践
工作流: terraform init → terraform fmt → terraform validate → terraform plan -out=tfplan → 审查 → terraform apply tfplan。使用 terraform show tfplan 检查。
技巧: 始终在 apply 前运行 plan;从不盲目 apply。使用远程状态(如 S3 + 锁)进行团队工作。在 CI 中仅使用已审查的计划时优先使用 -auto-approve。使用 terraform state list 和 terraform state show <resource> 调试。在管道中使用服务账户/工作负载身份;避免静态密钥。
认证与培训
HashiCorp Terraform Associate (004): IaC 概念、Terraform 基础、状态、模块、Terraform Cloud。学习路径。技能数据: init → fmt → validate → plan -out → apply;远程状态;无盲目应用。
钩子与工作流
建议钩子: 预应用:运行 terraform plan -out=tfplan 并在审查后门控。CI:仅在计划批准后应用。与 devops(主要)使用。
工作流: 与 devops(主要)使用。流程:init → plan → review → apply;使用状态命令调试。见 ci-cd-implementation-rule 用于管道集成。
概述
提供相对于原始 Terraform MCP 服务器 90%+ 的上下文节省。包括基础设施操作的关键安全控制。
要求
- Terraform CLI (v1.0+)
- 云提供商凭据配置
- 工作目录包含 .tf 文件
工具(渐进式披露)
规划与验证
| 工具 | 描述 | 确认 |
|---|---|---|
| plan | 生成 terraform 计划 | 否 |
| validate | 验证配置 | 否 |
| fmt | 格式化 terraform 文件 | 否 |
状态操作
| 工具 | 描述 | 确认 |
|---|---|---|
| show | 显示当前状态 | 否 |
| list | 列出状态资源 | 否 |
| state-mv | 移动状态中的资源 | 是 |
工作区操作
| 工具 | 描述 | 确认 |
|---|---|---|
| workspace-list | 列出工作区 | 否 |
| workspace-select | 选择工作区 | 否 |
| workspace-new | 创建工作区 | 是 |
执行(⚠️ 危险)
| 工具 | 描述 | 确认 |
|---|---|---|
| apply | 应用更改 | 必需 |
被阻止的操作
| 工具 | 状态 |
|---|---|
| destroy | 被阻止 |
| state-rm | 被阻止 |
快速参考
# 初始化
terraform init
# 规划更改
terraform plan -out=tfplan
# 验证
terraform validate
# 应用(自动化需要 -auto-approve)
terraform apply tfplan
配置
- 工作目录: 必须包含 terraform 文件
- TFVAR*: 通过环境变量值
- TF_WORKSPACE: 活动工作区
安全控制
⚠️ terraform apply 始终需要确认 ⚠️ terraform destroy 默认被阻止 ⚠️ 状态修改需要确认 ⚠️ 应用前审查计划输出
代理集成
- devops(主要): 基础设施管理
- architect(次要): 基础设施设计
- cloud-integrator(次要): 云供应
故障排除
| 问题 | 解决方案 |
|---|---|
| 初始化失败 | 检查提供商凭据 |
| 状态锁定 | 检查其他操作 |
| 计划失败 | 仔细审查错误输出 |
内存协议(强制)
开始前:
读取 .claude/context/memory/learnings.md
完成后:
- 新模式 ->
.claude/context/memory/learnings.md - 发现的问题 ->
.claude/context/memory/issues.md - 做出的决定 ->
.claude/context/memory/decisions.md
假设中断:如果不在内存中,就没有发生。