All Policies
Disallow deprecated APIs
OpenShift APIs are sometimes deprecated and removed after a few releases. As a best practice, older API versions should be replaced with newer versions. This policy validates for APIs that are deprecated or scheduled for removal. Note that checking for some of these resources may require modifying the Kyverno ConfigMap to remove filters.
Policy Definition
/openshift/disallow-deprecated-apis/disallow-deprecated-apis.yaml
1apiVersion: kyverno.io/v1
2kind: ClusterPolicy
3metadata:
4 name: disallow-deprecated-apis
5 annotations:
6 policies.kyverno.io/title: Disallow deprecated APIs
7 policies.kyverno.io/category: OpenShift
8 policies.kyverno.io/severity: medium
9 kyverno.io/kyverno-version: 1.6.0
10 policies.kyverno.io/minversion: 1.6.0
11 kyverno.io/kubernetes-version: "1.20"
12 policies.kyverno.io/subject: ClusterRole,ClusterRoleBinding,Role,RoleBinding,RBAC
13 policies.kyverno.io/description: >-
14 OpenShift APIs are sometimes deprecated and removed after a few releases.
15 As a best practice, older API versions should be replaced with newer versions.
16 This policy validates for APIs that are deprecated or scheduled for removal.
17 Note that checking for some of these resources may require modifying the Kyverno
18 ConfigMap to remove filters.
19spec:
20 validationFailureAction: Enforce
21 background: true
22 rules:
23 - name: check-deprecated-apis
24 match:
25 any:
26 - resources:
27 kinds:
28 - authorization.openshift.io/v1/ClusterRole
29 - authorization.openshift.io/v1/ClusterRoleBinding
30 - authorization.openshift.io/v1/Role
31 - authorization.openshift.io/v1/RoleBinding
32 validate:
33 message: >-
34 {{ request.object.apiVersion }}/{{ request.object.kind }} is deprecated.
35 deny: {}