apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: inherit-namespace-labels annotations: policies.kyverno.io/title: "Наследование лейблов из Namespace" policies.kyverno.io/category: Governance policies.kyverno.io/severity: low policies.kyverno.io/subject: Pod policies.kyverno.io/description: >- Копирует лейблы environment и team из Namespace в Pod. Позволяет автоматически тегировать поды данными их namespace без ручного дублирования в каждом манифесте. spec: rules: - name: copy-namespace-labels match: resources: kinds: - Pod exclude: resources: namespaces: - kube-system - kyverno context: - name: nsLabels apiCall: urlPath: "/api/v1/namespaces/{{ request.object.metadata.namespace }}" jmesPath: "metadata.labels" mutate: patchStrategicMerge: metadata: labels: +(environment): "{{ nsLabels.environment || 'unknown' }}" +(team): "{{ nsLabels.team || 'unknown' }}"