Agent Skills
返回列表
💻

Conftest 策略测试器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/conftest-policy-tester 到你的 AI 助手。

技能介绍

要解决什么问题

在 Kubernetes 工作流里,部署清单(比如 deployment.yaml)往往是先写后审:先 kubectl apply,出问题再回滚。人工 review 既慢又容易漏掉「没有资源限制」「镜像来源不可信」「缺少必要标签」这类合规项。这个技能做的事情,是把策略检查前移到 apply 之前,让配置在合入或上线前先过一道自动化关卡。

技能如何工作

核心思路是 policy-as-code:用 OPA 的 Rego 语言写断言,用 Conftest 执行。

  • 编写策略:把规则保存为 policy/deployment.rego,用 Rego 描述「合法的部署应该是什么样」,比如必须设置 spec.replicas、必须声明 resources.limits。
  • 执行检查:针对 deployment.yaml 运行 Conftest,工具会把 YAML 解析成结构化数据,逐条匹配 Rego 规则。
  • 读取结果:通过时给出确认;不通过时列出哪条规则失败、违反了哪个字段,直接定位到配置本身。

对开发者来说,策略和配置一样可以进版本库、走 code review,CI 里加一步就能拦住不合规的清单。

适用边界与注意点

  • Conftest 只检查静态清单内容,不会验证集群运行时行为(比如 pod 是否真的按策略启动)。
  • Rego 学习成本不低:规则写得太松等于没检查,太严又会产生大量噪音。
  • 技能是策略加执行的组合,需要本机具备 Conftest(或等价工具)才能实际跑起来。
  • 策略要跟着集群版本演进,不同 K8s 版本的字段结构可能存在差异。

使用场景

  • 提交 `deployment.yaml` 前运行 Conftest,确认部署是否满足 replicas 和 resources 规则
  • 编写 `policy/deployment.rego`,为集群部署定义资源配置与标签合规检查
  • 在 CI 中对 Kubernetes 清单做策略审查,阻止不合规配置进入仓库
  • 排查部署失败时,用 Conftest 输出定位具体违反了哪条策略

适合人员

  • 平台工程师:需要在发布前验证部署清单是否符合团队策略
  • DevOps 工程师:希望把 Kubernetes 合规检查纳入 CI/CD 流水线
  • 安全工程师:负责用 Rego 编写并维护集群资源配置基线
  • 后端开发者:提交部署变更时想快速确认没有违反集群约定