43 lines
1.7 KiB
YAML
43 lines
1.7 KiB
YAML
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"
|