All Policies
Require TLS routes in OpenShift
HTTP traffic is not encrypted and hence insecure. This policy prevents configuration of OpenShift HTTP routes.
Policy Definition
/openshift/check-routes/check-routes.yaml
1apiVersion: kyverno.io/v1
2kind: ClusterPolicy
3metadata:
4 name: check-routes
5 annotations:
6 policies.kyverno.io/title: Require TLS routes in OpenShift
7 policies.kyverno.io/category: OpenShift
8 policies.kyverno.io/severity: high
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: Route
13 policies.kyverno.io/description: |-
14 HTTP traffic is not encrypted and hence insecure. This policy prevents configuration of OpenShift HTTP routes.
15spec:
16 validationFailureAction: Enforce
17 background: true
18 rules:
19 - name: require-tls-routes
20 match:
21 any:
22 - resources:
23 kinds:
24 - route.openshift.io/v1/Route
25 preconditions:
26 all:
27 - key: "{{ request.operation || 'BACKGROUND' }}"
28 operator: NotEquals
29 value: ["DELETE"]
30 validate:
31 message: >-
32 HTTP routes are not allowed. Configure TLS for secure routes.
33 deny:
34 conditions:
35 all:
36 - key: "{{ keys(request.object.spec) | contains(@, 'tls') }}"
37 operator: Equals
38 value: false