返回更新列表
新发布Sep 14, 2026

conftest v0.70.0

使用 Open Policy Agent Rego 查询语言针对结构化配置数据编写测试

分享

Conftest

Go Report Card Netlify

Conftest 帮助您针对结构化配置数据编写测试。使用 Conftest,您可以为 Kubernetes 配置、Tekton 流水线定义、Terraform 代码、Serverless 配置或任何其他配置文件编写测试。

Conftest 使用 Open Policy Agent 的 Rego 语言来编写断言。您可以在 Open Policy Agent 文档的 Policy Language 部分了解更多关于 Rego 的信息。

以下是一个快速示例。将以下内容保存为 policy/deployment.rego

package main

deny contains msg if {
  input.kind == "Deployment"
  not input.spec.template.spec.securityContext.runAsNonRoot

  msg := "Containers must not run as root"
}

deny contains msg if {
  input.kind == "Deployment"
  not input.spec.selector.matchLabels.app

  msg := "Containers must provide app label for pod selectors"
}

假设您在 deployment.yaml 中有一个 Kubernetes 部署,您可以像这样运行 Conftest:

$ conftest test deployment.yaml
FAIL - deployment.yaml - Containers must not run as root
FAIL - deployment.yaml - Containers must provide app label for pod selectors

2 tests, 0 passed, 0 warnings, 2 failures, 0 exceptions

Conftest 并不专属于 Kubernetes。它可以轻松地让您为各种格式的配置文件编写测试。请参阅文档了解安装说明以及有关功能的更多详细信息。

想要为 Conftest 做贡献吗?

如需讨论和提问,请在 Open Policy Agent Slack#opa-conftest 频道加入我们。

分类