All Policies

Prevent Use of Default Project in CEL expressions

This policy prevents the use of the default project in an Application.

Policy Definition

/argo-cel/application-prevent-default-project/application-prevent-default-project.yaml

 1apiVersion: kyverno.io/v1
 2kind: ClusterPolicy
 3metadata:
 4  name: application-prevent-default-project
 5  annotations:
 6    policies.kyverno.io/title: Prevent Use of Default Project in CEL expressions
 7    policies.kyverno.io/category: Argo in CEL 
 8    policies.kyverno.io/severity: medium
 9    kyverno.io/kyverno-version: 1.11.0
10    policies.kyverno.io/minversion: 1.11.0
11    kyverno.io/kubernetes-version: "1.26-1.27"
12    policies.kyverno.io/subject: Application
13    policies.kyverno.io/description: >-
14      This policy prevents the use of the default project in an Application.
15spec:
16  validationFailureAction: Audit
17  background: true
18  rules:
19    - name: default-project
20      match:
21        any:
22        - resources:
23            kinds:
24              - Application
25            operations:
26            - CREATE
27            - UPDATE
28      validate:
29        cel:
30          expressions:
31            - expression: "object.spec.?project.orValue('') != 'default'"
32              message: "The default project may not be used in an Application."