40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
apiVersion: kyverno.io/v1
|
||
kind: ClusterPolicy
|
||
metadata:
|
||
name: clone-registry-secret
|
||
annotations:
|
||
policies.kyverno.io/title: "Копирование Registry Secret во все Namespace"
|
||
policies.kyverno.io/category: Security
|
||
policies.kyverno.io/severity: medium
|
||
policies.kyverno.io/subject: Namespace
|
||
policies.kyverno.io/description: >-
|
||
При создании Namespace копирует Secret с кредентиалами реестра
|
||
из namespace kyverno (мастер-копия) в новый namespace.
|
||
synchronize: true — при обновлении мастер-секрета все копии обновятся.
|
||
Создайте мастер-секрет: kubectl create secret docker-registry
|
||
registry-credentials-master -n kyverno ...
|
||
spec:
|
||
rules:
|
||
- name: clone-registry-credentials
|
||
match:
|
||
resources:
|
||
kinds:
|
||
- Namespace
|
||
exclude:
|
||
resources:
|
||
names:
|
||
- kube-system
|
||
- kube-public
|
||
- kube-node-lease
|
||
- kyverno
|
||
generate:
|
||
apiVersion: v1
|
||
kind: Secret
|
||
name: registry-credentials
|
||
namespace: "{{ request.object.metadata.name }}"
|
||
synchronize: true
|
||
# clone копирует существующий ресурс вместо создания из шаблона
|
||
clone:
|
||
namespace: kyverno
|
||
name: registry-credentials-master
|