mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-09 17:37:12 +00:00
Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com> Co-authored-by: Jim Bugwadia <jim@nirmata.com>
48 lines
1.1 KiB
YAML
48 lines
1.1 KiB
YAML
apiVersion: kyverno.io/v1
|
|
kind: ClusterPolicy
|
|
metadata:
|
|
name: check-old-object
|
|
spec:
|
|
background: false
|
|
rules:
|
|
- name: require-labels
|
|
match:
|
|
all:
|
|
- resources:
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
kinds:
|
|
- Namespace
|
|
context:
|
|
- name: small
|
|
variable:
|
|
value: small
|
|
- name: medium
|
|
variable:
|
|
value: medium
|
|
- name: large
|
|
variable:
|
|
value: large
|
|
validate:
|
|
failureAction: Enforce
|
|
message: "The label `size` is required"
|
|
assert:
|
|
object:
|
|
metadata:
|
|
labels:
|
|
size:
|
|
(@ == $small || @ == $medium || @ == $large): true
|
|
- name: check-old-object
|
|
match:
|
|
all:
|
|
- resources:
|
|
operations:
|
|
- UPDATE
|
|
kinds:
|
|
- Namespace
|
|
validate:
|
|
failureAction: Enforce
|
|
message: "request.oldObject cannot be null for update requests"
|
|
assert:
|
|
oldObject: {}
|