[英]OPA Rego rule to check annotation in k8s namespace with other rules
我想检查命名空间中是否存在注释,如果不否认。 我有这个代码但不工作。 我怎样才能得到正确的对象路径(namespace.annotation)来比较?
violation[{"msg": msg, "details": {}}] {
input.request.kind.kind == "Namespace"
not input.review.object.metadata.annotations.hostPath
msg := sprintf("no hostpath defined in namespace for this pod %v, [input.review.object.metadata.name])
}
我在我的约束中同时指定了 pod 和命名空间,因为我需要在我的模板中检查两者的规则
spec:
match:
kinds:
- apiGroups: [""]
kinds: ["Pod"]
- apiGroups: [""]
kinds: ["Namespace"]
谢谢 !
从看门人库存储库中查看这个几乎相同的示例。
我认为具体问题在于您提取注释本身的方式(请注意,该示例在您使用点表示法时使用了方括号)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.