
Open Policy Agent Rego क्वेरी भाषा का उपयोग करके संरचित कॉन्फ़िगरेशन डेटा के लिए परीक्षण लिखें
Conftest आपको संरचित विन्यास डेटा के विरुद्ध परीक्षण लिखने में मदद करता है। Conftest का उपयोग करके आप अपने Kubernetes विन्यास, Tekton पाइपलाइन परिभाषाओं, Terraform कोड, Serverless कॉन्फ़िग या किसी भी अन्य कॉन्फ़िग फ़ाइलों के लिए परीक्षण लिख सकते हैं।
Conftest अभिकथन लिखने के लिए Open Policy Agent से Rego भाषा का उपयोग करता है। आप Open Policy Agent प्रलेखन में पॉलिसी भाषा अनुभाग में 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 deployment है, तो आप 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 तक सीमित नहीं है। यह आपको विभिन्न प्रारूपों में किसी भी विन्यास फ़ाइल के लिए परीक्षण लिखने की सुविधा देता है। प्रलेखन देखें, जिसमें स्थापना निर्देश और सुविधाओं के बारे में अधिक विवरण हैं।
चर्चा और प्रश्नों के लिए Open Policy Agent Slack पर #opa-conftest चैनल में हमसे जुड़ें।