mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-09 17:37:12 +00:00
* feat: context function to request resources from api server Signed-off-by: Frank Jogeleit <frank.jogeleit@web.de> * add chainsaw test Signed-off-by: Frank Jogeleit <frank.jogeleit@web.de> * replace dclient with dynamic client Signed-off-by: Frank Jogeleit <frank.jogeleit@web.de> * update test case Signed-off-by: Frank Jogeleit <frank.jogeleit@web.de> --------- Signed-off-by: Frank Jogeleit <frank.jogeleit@web.de> Co-authored-by: shuting <shuting@nirmata.com>
23 lines
724 B
YAML
23 lines
724 B
YAML
apiVersion: policies.kyverno.io/v1alpha1
|
|
kind: ValidatingPolicy
|
|
metadata:
|
|
name: check-deployment-labels
|
|
spec:
|
|
matchConstraints:
|
|
resourceRules:
|
|
- apiGroups: [apps]
|
|
apiVersions: [v1]
|
|
operations: [CREATE, UPDATE]
|
|
resources: [deployments]
|
|
variables:
|
|
- name: pod
|
|
expression: >-
|
|
context.GetResource("v1", "pods", object.metadata.namespace, "policy-pod")
|
|
- name: environment
|
|
expression: >-
|
|
has(object.metadata.labels) && 'env' in object.metadata.labels && object.metadata.labels['env'] == variables.pod.metadata.labels.env
|
|
validations:
|
|
- expression: >-
|
|
variables.environment == true
|
|
message: >-
|
|
Deployment labels must be env=prod
|