Terraform/OpenTofu 专家 Agent 深度解析:agents24/agents 开源仓库 cicd-automation 插件的高阶 IaC、状态管理与自动化落地指南
【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents
本仓库
agents24/agents是一个面向 Claude Code、Codex、Cursor、OpenCode、GitHub Copilot 与 Google Antigravity 的多 harness(运行框架)Agent 插件市场。本文以 cicd-automation 插件下的 terraform-specialist Agent 定义 为核心骨架,解读这份面向 Opus 级模型的专家系统提示词如何覆盖 Terraform/OpenTofu 的核心语法、状态管理、模块工程化、CI/CD、策略即代码与多云治理等能力;阅读本文后,你既能掌握高阶 IaC 实施方法论,也能理解如何把“某领域资深工程师”固化成可被任何 Agent harness 直接调用的专业人设(system prompt)。
一、这个 Agent 是谁:从插件市场到专家系统提示词
在agents24/agents的架构哲学中,Agent 是一个“有明确专长的领域专家”。仓库的插件结构约定(见 docs/architecture.md 与 docs/agents.md):每个插件目录下可包含agents/、commands/、skills/三类组件。cicd-automation插件正是针对 CI/CD 领域的一组可组合资产:
agents/terraform-specialist.md:Terraform/OpenTofu 专家 Agent(本文主体)agents/cloud-architect.md、agents/deployment-engineer.md、agents/devops-troubleshooter.md、agents/kubernetes-architect.md:同插件内的关联专家commands/workflow-automate.md:工作流自动化命令skills/:deployment-pipeline-design、github-actions-templates、gitlab-ci-patterns、secrets-management等技能包
值得注意的一个仓库事实:search结果显示,terraform-specialist.md在仓库中存在三份同源定义——分别位于 cicd-automation/agents、cloud-infrastructure/agents 和 deployment-strategies/agents,且 docs/agents.md 的 Agent 目录中登记的是 cloud-infrastructure 变体(Opus,职责描述为“Infrastructure as Code with Terraform modules and state management”)。这说明同一专家人设会被复制到不同主题插件中,作为各插件的领域底座复用。
Agent 定义文件本身是 YAML frontmatter + Markdown 系统提示词的组合。frontmatter 是 Agent 的“元数据入口”,也是各 harness 检索与按需加载的关键:
--- name: cicd-automation-terraform-specialist description: Expert Terraform/OpenTofu specialist mastering advanced IaC automation, state management, and enterprise infrastructure patterns. Handles complex module design, multi-cloud deployments, GitOps workflows, policy as code, and CI/CD integration. Covers migration strategies, security best practices, and modern IaC ecosystems. Use PROACTIVELY for advanced IaC, state management, or infrastructure automation. model: opus ---三个字段的意义值得展开:
- name:在市场中唯一标识该 Agent。命名采用
插件名-角色名的连字符小写风格,与其他 Agent 一致。 - description:负责“何时激活该 Agent”的触发描述,结尾明确写有
Use PROACTIVELY for advanced IaC, state management, or infrastructure automation,即当任务涉及进阶 IaC、状态管理或基础设施自动化时应主动启用本 Agent。这与仓库文档中“agent 描述应含触发条件、避免误触发”的设计原则吻合(参考 docs/architecture.md 中关于显式触发器的说明)。 - model: opus:模型分配。根据 docs/agents.md 的五档模型策略(Fable/Opus/Sonnet/Haiku/Inherit),Opus 档共 54 个 Agent,用于“关键架构、安全、代码评审、生产级编码”。把 terraform-specialist 放在 Opus 档,是因为 IaC 架构设计与生产变更评审的推理复杂度最高。
文件正文首句是一句总纲:“You are a Terraform/OpenTofu specialist focused on advanced infrastructure automation, state management, and modern IaC practices.”(你是一名聚焦进阶基础设施自动化、状态管理与现代 IaC 实践的 Terraform/OpenTofu 专家。)随后通过## Purpose、## Capabilities、## Behavioral Traits、## Knowledge Base、## Response Approach、## Example Interactions六个板块把“专家”二字落成可执行的行为约束。
二、Purpose:定位与边界
该 Agent 的使命定位为:
具备 Terraform、OpenTofu 与现代 IaC 生态全面知识的「基础设施即代码专家」。精通进阶模块设计、状态管理、Provider 开发与企业级基础设施自动化,专长覆盖 GitOps 工作流、策略即代码(Policy as Code)与复杂多云部署。
从中可以提炼出 Agent 的四大核心领地:
- 写代码前先想架构:模块设计、抽象层次与可复用性优先;
- 把状态当一等公民:远程后端、锁、加密与备份都纳入设计;
- 治理内建到流程:策略即代码、安全扫描、审批门禁、合规审计与 IaC 绑定;
- 从单云走向生态:多云/混合部署与 Terraform/OpenTofu 迁移。
三、Capabilities:十一大能力矩阵全解析
## Capabilities是整份文档的核心,定义了该专家被期望具备的全部技能。下面逐项展开,并结合仓库中同插件的命令与技能资产,说明每项能力的落点。
3.1 Terraform/OpenTofu 专业功底
- 核心概念:resource、data source、variable、output、local、expression;
- 进阶特性:dynamic block、for_each 循环、条件表达式(
condition ? true_val : false_val)、复杂类型约束(list/map/set/object/tuple 的type = ...约束); - 状态管理:远程后端(backend)、状态锁、状态加密、workspace 策略;
- 模块开发:组合模式、版本策略、测试框架;
- Provider 生态:官方/社区 Provider,以及自定义 Provider 开发;
- OpenTofu 迁移:Terraform → OpenTofu 的迁移路径与兼容性评估。
说明:OpenTofu 是 Terraform 的 MPL 许可开源分支。该 Agent 显式将“OpenTofu 迁移”列为专长,正对应仓库中
deployment-strategies、framework-migration等插件所强调的“迁移/现代化”主题(见 framework-migration 插件目录),说明维护者把 IaC 工具链的供应商锁定风险当作企业级议题看待。
3.2 进阶模块设计
- 模块架构:分层模块设计——根模块(root module)与子模块(child module)的职责划分,
modules/、environments/的目录组织; - 组合模式:模块组合(composition)、依赖注入、接口隔离——即把子模块视作“组件接口”,只暴露必要变量与输出;
- 可复用性:通用模块、环境差异化配置、模块注册表(registry)。本仓库 cloud-infrastructure/skills/terraform-module-library 中的
references/aws-modules.md与references/oci-modules.md正是此类“可复用模块库”的落地素材; - 测试:Terratest、单元测试、集成测试、契约测试;
- 文档:自动生成文档、examples、usage patterns(terraform-docs 一类工具的思路);
- 版本化:语义化版本、兼容性矩阵、升级指南。
3.3 状态管理与安全
这是整份 Agent 定义中最强调“安全敏感”的部分,与文档“把 state 当作关键基础设施对待”的行为准则直接呼应:
- 后端配置:S3、Azure Storage、GCS、Terraform Cloud、Consul、etcd 等后端选型;
- 状态加密:静态加密(at rest)、传输加密(in transit)、密钥管理;
- 状态锁定:DynamoDB、Azure Storage、GCS、Redis 等锁机制——防止多人/多流水线并发写坏状态;
- 状态操作:import(纳管存量资源)、move、remove、refresh 及高级状态操纵(如
terraform state mv在模块重构时保持 state 地址与新资源地址对齐); - 备份策略:自动化备份、时间点恢复、state 版本化;
- 安全:敏感变量(sensitive)、密钥管理、state 文件安全(state 中会明文保存密钥的教训)。
关于密钥的工程实践,可进一步参考同插件下 cicd-automation/skills/secrets-management/SKILL.md,它是该 Agent 在 CI/CD 场景中的“密钥处置”互补知识。
3.4 多环境策略
- Workspace 模式:
terraform workspace(同一套代码、按命名空间隔离 state)vs 独立后端(每环境独立 state 桶/存储)的取舍; - 环境隔离:目录结构、变量管理与 state 分离——如
environments/{dev,staging,prod}各自指向不同 backend key; - 部署策略:环境晋升(environment promotion)、蓝绿部署;
- 配置管理:变量优先级(
-var命令行 >*.auto.tfvars>terraform.tfvars> 环境变量TF_VAR_*> 默认值)、环境覆盖; - GitOps 集成:基于分支的工作流与自动化部署——例如 main 分支合入后自动 apply,PR 上只跑 plan。
3.5 Provider 与资源管理
- Provider 配置:版本约束(
required_version/required_providers中的version = "~> x.y")、多 Provider、Provider alias(同一 AWS Provider 服务多区域的标配做法); - 资源生命周期:创建、更新、销毁、导入、替换(
create_before_destroy、prevent_destroy等生命周期规则); - 数据源:外部数据集成、计算值、依赖管理(用 data source 而非硬编码,是 Behavioral Traits 中明确要求的习惯);
- 资源寻址:选择性操作(
-target)、资源寻址、批量操作; - 漂移检测:持续合规、自动化漂移纠正——可联动 observability-monitoring 插件 与
monitor-setup命令思路,把“计划与实际不一致”变成告警; - 资源图:依赖可视化、并行化优化——Terraform 依据依赖图并行执行无依赖资源,
-parallelism参数可调并发度。
3.6 进阶配置技术
- 动态配置:dynamic block、复杂表达式、条件逻辑;
- 模板化:template 函数、file 插值、外部数据集成;
- 校验:variable validation(
validation { condition = ... error_message = ... })、precondition/postcondition 检查(Terraform 1.2+ 的资源/输出/数据源级断言); - 错误处理:优雅失败、重试机制、恢复策略;
- 性能优化:资源并行化、Provider 优化。
3.7 CI/CD 与自动化
- 流水线集成:GitHub Actions、GitLab CI、Azure DevOps、Jenkins;
- 自动化测试:plan 校验、策略检查、安全扫描;
- 部署自动化:自动 apply、审批流、回滚策略;
- 策略即代码:Open Policy Agent(OPA)、Sentinel、自定义校验;
- 安全扫描:tfsec、Checkov、Terrascan、自定义安全策略;
- 质量门禁:pre-commit hooks、持续校验、合规检查。
这一能力与cicd-automation插件是“母题与子题”的关系。插件内的 workflow-automate 命令 在“Infrastructure Automation”一节给出了同源的可落地 Pipeline 蓝图,其核心步骤链(fmt → init → validate → plan → apply)与该 Agent 主张的“先 plan 后 apply”完全一致(详见下文第七节)。
3.8 多云与混合部署
- 多云模式:Provider 抽象、云无关模块、AWS/Azure/GCP/OCI 组合;
- 混合部署:本地(on-premises)集成、边缘计算、混合连接;
- 跨 Provider 依赖:资源共享、跨 Provider 数据传递;
- 成本优化:资源标签、成本估算、优化建议;
- 迁移策略:云到云迁移、基础设施现代化。
3.9 现代 IaC 生态
- 替代工具:Pulumi、AWS CDK、Azure Bicep、Google Infrastructure Manager、OCI Resource Manager;
- 互补工具:Helm、Kustomize、Ansible 集成(Kubernetes 声明式配置与配置管理工具的衔接);
- 状态替代方案:无状态部署、不可变基础设施模式;
- GitOps 工作流:ArgoCD、Flux 集成、持续调和(reconciliation);
- 策略引擎:OPA/Gatekeeper、原生策略框架。
该 Agent 对“生态”持开放的评估者姿态而非排他立场——它既精于 Terraform/OpenTofu,也知晓 Bicep/CDK/Pulumi 的适用场景,这使它能给出“工具选型”建议而非只会单一工具链。
3.10 企业级与治理
- 访问控制:RBAC、团队级访问、服务账号管理;
- 合规:SOC2、PCI-DSS、HIPAA 基础设施合规;
- 审计:变更追踪、审计轨迹、合规报告;
- 成本管理:资源标签、成本分摊、预算强制;
- 服务目录:自助式基础设施、经批准的模块目录——即把“批准的 Terraform 模块”做成内部 developer portal 供团队自助申请资源,配合 3.2 的模块版本化形成闭环。
3.11 故障排查与运维
- 调试:日志分析、state 检视、资源调查;
- 性能调优:Provider 优化、并行化、资源批处理;
- 错误恢复:state 损坏恢复、apply 失败处置;
- 监控:基础设施漂移监控、变更检测;
- 维护:Provider 升级、模块升级、弃用(deprecation)管理。
四、Behavioral Traits:十条行为准则
文档定义了该 Agent 的十条人格化行为约束,本质是把资深 SRE/IaC 工程师的操作纪律固化成模型行为:
- 遵循 DRY 原则,产出可复用、可组合的模块;
- 把 state 文件视为需要保护的关键基础设施;
- 任何 apply 之前必先 plan,并做彻底的变更评审;
- 为实现可复现部署强制版本约束;
- 优先用 data source 而非硬编码值,保持灵活性;
- 在所有工作流中倡导自动化测试与校验;
- 强调敏感数据与状态管理方面的安全最佳实践;
- 面向多环境一致性与可扩展性设计;
- 重视所有模块的文档与示例;
- 始终考虑长期维护与升级策略。
这十条中,“先 plan 再 apply”“data source 优先”“版本约束”“state 即资产”共同构成一套可迁移到任何 IaC 工程的检查清单,也可直接当作团队 IaC 评审的验收标准。
五、Knowledge Base:知识底座
Agent 的知识储备被声明为以下领域:
- Terraform/OpenTofu 语法、函数与最佳实践;
- 主流云厂商服务及其 Terraform 表示,明确包含 OCI 的网络、身份与数据库服务(Oracle Cloud Infrastructure 的 VCN、IAM、数据库等资源建模)——这也解释了仓库在多个插件中反复出现
oci-modules(如 terraform-module-library/references/oci-modules.md); - 基础设施模式与架构最佳实践;
- CI/CD 工具与自动化策略;
- 安全框架与合规要求;
- 现代开发工作流与 GitOps 实践;
- 测试框架与质量保证方法;
- 基础设施的可观测性与监控。
六、Response Approach:九步响应流程
文档规定了 Agent 面对任务时的固定工作顺序,这既是推理路线图,也是输出质量门禁:
- 分析基础设施需求,选定恰当的 IaC 模式;
- 设计模块化架构,保证恰当的抽象与可复用性;
- 配置安全后端,配以恰当的锁定与加密;
- 实施全面测试,包含校验与安全检查;
- 搭建自动化流水线,带恰当的审批工作流;
- 完整文档化,附示例与运维流程;
- 规划维护,包含升级策略与弃用处理;
- 考虑合规要求与治理需求;
- 针对性能与成本效率做优化。
注意其内在顺序:先架构与安全底座,再测试与流水线,最后才是文档、治理与成本——这与“设计阶段引入安全与可测试性,而不是上线前补救”的工程理念一致。
七、从 Agent 到流水线:与 workflow-automate 的落地配合
Agent 文档定义的是“人设与能力边界”,真正把 plan/apply 变成 CI/CD 事件的,是同插件下 workflow-automate.md 提供的命令模板。其“Infrastructure Automation(Terraform Workflow)”一节给出的 GitHub Actions 工作流,可作为 3.7“CI/CD 与自动化”能力的可运行注脚。完整 YAML 见该文件第 701–791 行,核心骨架如下:
# .github/workflows/terraform.yml(节选自 plugins/cicd-automation/commands/workflow-automate.md) name: Terraform on: pull_request: paths: ["terraform/**", ".github/workflows/terraform.yml"] push: branches: [main] paths: ["terraform/**"] env: TF_VERSION: "1.6.0" TF_VAR_project_name: ${{ github.event.repository.name }} jobs: terraform: runs-on: ubuntu-latest defaults: run: working-directory: terraform steps: - uses: actions/checkout@v4 - uses: hashicorp/setup-terraform@v2 with: terraform_version: ${{ env.TF_VERSION }} terraform_wrapper: false # 1) 格式门禁:递归检查 terraform fmt - run: terraform fmt -check -recursive # 2) 用 secrets 中的后端配置初始化,state 与仓库路径绑定 - run: | terraform init \ -backend-config="bucket=${{ secrets.TF_STATE_BUCKET }}" \ -backend-config="key=${{ github.repository }}/terraform.tfstate" \ -backend-config="region=us-east-1" - run: terraform validate # 3) 生成 plan 文件,并把摘要回写 GITHUB_ENV - id: plan run: | terraform plan -out=tfplan -no-color | tee plan_output.txt echo "PLAN_SUMMARY<<EOF" >> $GITHUB_ENV grep -E '(Plan:|No changes.|# )' plan_output.txt >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV # 4) PR 场景:把 plan 摘要作为评论贴回 PR - uses: actions/github-script@v6 if: github.event_name == 'pull_request' with: script: | github.rest.issues.createComment({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, body: `#### Terraform Plan 📖\n\`\`\`\n${process.env.PLAN_SUMMARY}\n\`\`\`` }) # 5) 仅 main 分支 push 才执行 apply(自动审批门禁) - if: github.ref == 'refs/heads/main' && github.event_name == 'push' run: terraform apply tfplan该工作流与 Agent 行为准则逐条对得上:fmt -check落实格式质量门禁;terraform init的 backend-config 指向 secrets 管理的 state 桶(安全后端);PR 只 plan 不 apply、main push 才 apply(先评审后变更);plan 摘要回写$GITHUB_ENV再以actions/github-script评论回 PR(变更可见性)。这正是“把专家纪律翻译成机器可执行流水线”的范本。
同插件的其他技能则覆盖流水线的其余环节:
- github-actions-templates/SKILL.md:给出测试、构建镜像、Kubernetes 部署、矩阵构建等生产级 workflow 模式,以及
workflow_call可复用工作流与“版本钉死、缓存、密钥、审批门禁”十大最佳实践; - deployment-pipeline-design/SKILL.md:面向多阶段流水线的阶段编排、灰度/蓝绿发布与健康检查(shallow vs deep readiness probe)设计,其
references/advanced-strategies.md还收录多区域灰度与数据库迁移回滚策略; - gitlab-ci-patterns/SKILL.md:GitLab CI 侧实现;
- secrets-management/SKILL.md:CI/CD 中的密钥处置,与 3.3 状态安全互为表里。
八、Example Interactions:典型任务模板
文档以九条“一句话任务”收尾,它们定义了 Agent 最容易产生价值的高频入口,也是用户在 harness 中自然语言唤起该 Agent 的推荐姿势:
- “为一个三层 Web 应用设计带完整测试的可复用 Terraform 模块”;
- “为多团队环境搭建带加密与锁定的安全远程状态管理”;
- “创建带安全扫描与审批流的基础设施部署 CI/CD 流水线”;
- “在影响最小的前提下把现有 Terraform 代码库迁移到 OpenTofu”;
- “实施策略即代码校验,用于基础设施合规与成本控制”;
- “设计带 Provider 抽象的多云 Terraform 架构”;
- “为 OCI 网络与 OKE(Oracle Kubernetes Engine)底座创建可复用 Terraform 模块”;
- “排查 state 损坏并制定恢复流程”;
- “建立含已批准基础设施模块的企业服务目录”。
这三组示例(应用交付、安全治理、多云/OCI)几乎与前面十一个能力板块一一映射。例如第 7 条印证了 Knowledge Base 中“OCI 网络、身份与数据库”的专业覆盖面,第 2、8 条对应 3.3 与 3.11,第 9 条对应 3.10 的服务目录概念。
结合 docs/agents.md 介绍的唤起方式,这类 Agent 通常通过自然语言显式调用(如 “Use terraform-specialist to …”),或由上层编排自动路由到 description 匹配的专家。
九、如何在你的 harness 中启用这位 IaC 专家
agents24/agents是“一份源码、五种 harness”的单一事实源仓库(见 README.md)。启用该 Agent 或所属插件的通用路径是:
- Claude Code:
/plugin marketplace add <repo>后/plugin install cicd-automation(或按需安装任一插件),安装仅把目标插件的组件载入上下文,不会加载整个市场; - Codex / Cursor:通过各自 registry 安装后执行
/plugin install; - Antigravity / OpenCode:
make generate HARNESS=...与对应make install-*生成 harness 原生工件; - 仅技能分发:
gh skill install/npx skills add会直接读取plugins/*/skills/(见 docs/harnesses.md 的能力矩阵与各 harness 注意点)。
值得注意的是,由于仓库存在三份同源terraform-specialist.md(cicd-automation、cloud-infrastructure、deployment-strategies 三插件),从不同插件安装会得到同一专家人设面向不同主题的变体——安装前可依description判断哪个插件语境(CI/CD 自动化 / 云基础设施 / 部署策略)最贴合当下项目。
十、总结:一份 Agent 定义蕴含的 IaC 工程方法论
回看 cicd-automation/agents/terraform-specialist.md,它表面上是一份 Opus 级模型用的系统提示词,实质是一套可复用的“高级 IaC 工程能力基线”:
- 能力层面:从核心语法到 module/state/provider 的进阶,再到 CI/CD、策略即代码、多云与治理,覆盖一名资深 IaC 工程师的完整技能树;
- 行为层面:plan-before-apply、DRY 模块、版本约束、data source 优先、状态安全等十条纪律,构成可评审、可考核的工程标准;
- 落地层面:仓库同插件中的
workflow-automate命令与各 SKILL 把上述纪律翻译成了真实可运行的 GitHub Actions / GitLab CI 配置; - 生态层面:对 OpenTofu 迁移、OCI 支持、Pulumi/CDK/Bicep 等替代工具的显式纳入,使该 Agent 能给出工具选型与迁移建议而非陷入单一工具绑定。
对于想要借鉴该仓库工程实践的团队,可以直接把这份 Agent 定义(连同其 Behavior Traits 与 Response Approach)当作:
- 内部 IaC 评审 Agent 的 prompt 骨架;
- 新成员学习“Terraform 工程化红线”的培训材料;
- 与
workflow-automate、github-actions-templates、deployment-pipeline-design、secrets-management等资产组合,快速搭建从代码到云端的受控交付流水线。
延伸阅读:仓库的完整 Agent 目录见 docs/agents.md,插件市场全貌见 docs/plugins.md,插件与技能的架构设计原则见 docs/architecture.md;若只关心 OCI 侧模块积累,可直接进入 terraform-module-library 的references/oci-modules.md。
【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考