apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: require-app-label annotations: policies.kyverno.io/title: Require App Label policies.kyverno.io/category: Zero Trust policies.kyverno.io/severity: low spec: validationFailureAction: Audit background: true rules: - name: require-app-label match: any: - resources: kinds: - Deployment - StatefulSet - DaemonSet exclude: any: - resources: namespaces: - kube-system - kube-node-lease - kyverno - rook-ceph - default - crowdsec - gitlab - scylla-manager - scylla-operator - cert-manager validate: message: "The label 'app' or 'app.kubernetes.io/name' is required." anyPattern: - metadata: labels: app: "?*" - metadata: labels: app.kubernetes.io/name: "?*"