apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: debug-context-inspector annotations: policies.kyverno.io/title: "DEBUG: Инспектор контекстных переменных" policies.kyverno.io/description: >- ТОЛЬКО ДЛЯ ОТЛАДКИ. Всегда отклоняет запрос, выводя содержимое переменных в сообщении ошибки. Помогает понять, что видит политика. УДАЛИТЕ после отладки — не держите в production. spec: validationFailureAction: Enforce background: false # не запускать в background — только для живых запросов rules: - name: print-context match: resources: kinds: - Pod namespaces: - debug-namespace # применяем только в отдельном namespace context: - name: nsLabels apiCall: urlPath: "/api/v1/namespaces/{{ request.object.metadata.namespace }}" jmesPath: "metadata.labels" validate: # Всегда fail — выводим данные в сообщении message: >- [DEBUG] Pod: {{ request.object.metadata.name }} Namespace: {{ request.object.metadata.namespace }} Namespace labels: {{ nsLabels }} Pod labels: {{ request.object.metadata.labels }} User: {{ request.userInfo.username }} Groups: {{ request.userInfo.groups }} Operation: {{ request.operation }} Containers: {{ request.object.spec.containers[].name }} deny: conditions: - key: "true" operator: Equals value: "true"