Files
kyverno-2026-example/03-mutation/01-basics/init-containers.yaml
T
2026-04-13 12:37:09 +07:00

33 lines
1.1 KiB
YAML

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: add-wait-for-db
annotations:
policies.kyverno.io/title: "Добавление init-контейнера для ожидания PostgreSQL"
policies.kyverno.io/category: Governance
policies.kyverno.io/severity: low
policies.kyverno.io/subject: Deployment,StatefulSet,DaemonSet
policies.kyverno.io/description: >-
1. По условию добавляет init-контейнер для ожидания PostgreSQL
spec:
rules:
- name: add-wait-for-db
match:
resources:
kinds:
- Pod
preconditions:
any:
- key: "{{ request.object.metadata.annotations.\"init.company.com/wait-for-db\" }}"
operator: Equals
value: "true"
mutate:
patchStrategicMerge:
spec:
initContainers:
- name: wait-for-db
image: registry.company.com/busybox:1.36
command:
- sh
- -c
- until nc -z postgres-service 5432; do echo "Ожидаем PostgreSQL..."; sleep 2; done