العودة إلى التحديثات
New releaseSep 14, 2026

conftest v0.70.0

اكتب اختبارات ضد بيانات الإعدادات المهيكلة باستخدام لغة الاستعلام Rego الخاصة بـ Open Policy Agent

مشاركة

Conftest

Go Report Card Netlify

يساعدك Conftest في كتابة اختبارات للبيانات المهيكلة للتكوين. باستخدام Conftest يمكنك كتابة اختبارات لإعدادات Kubernetes، وتعريفات خطوط أنابيب Tekton، وأكواد Terraform، وإعدادات Serverless أو أي ملفات تكوين أخرى.

يستخدم Conftest لغة Rego من Open Policy Agent لكتابة الافتراضات. يمكنك قراءة المزيد عن Rego في قسم لغة السياسات في توثيق Open Policy Agent.

إليك مثال سريع. احفظ ما يلي باسم 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"
}

بافتراض أن لديك نشر Kubernetes في deployment.yaml، يمكنك تشغيل 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.

الفئات