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
|