This commit is contained in:
2026-04-08 20:22:14 +07:00
commit 34fbdd1412
96 changed files with 5321 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: restrict-deploys-during-freeze
annotations:
policies.kyverno.io/title: "Блокировка деплойментов во время freeze"
policies.kyverno.io/category: Governance
policies.kyverno.io/severity: high
policies.kyverno.io/subject: Deployment
policies.kyverno.io/description: >-
Блокирует создание новых Deployments когда в ConfigMap
deployment-freeze-config поле freeze_active=true.
Пользователи группы emergency-deployers и system:masters
могут деплоить даже во время freeze.
Активируйте freeze: kubectl patch configmap deployment-freeze-config
-n kyverno --type merge -p '{"data":{"freeze_active":"true"}}'
spec:
rules:
- name: check-freeze
match:
resources:
kinds:
- Deployment
preconditions:
any:
- key: "{{ request.operation }}"
operator: Equals
value: CREATE
context:
- name: freezeConfig
configMap:
name: deployment-freeze-config
namespace: kyverno
validate:
message: >-
Деплойменты заморожены с {{ freezeConfig.data.freeze_start }}
до {{ freezeConfig.data.freeze_end }}.
Причина: {{ freezeConfig.data.freeze_reason }}
Для экстренного деплоя обратитесь к oncall инженеру.
deny:
conditions:
all:
# Freeze активен
- key: "{{ freezeConfig.data.freeze_active }}"
operator: Equals
value: "true"
# Пользователь НЕ в группе экстренного деплоя
- key: "{{ request.userInfo.groups }}"
operator: AllNotIn
value:
- emergency-deployers
- system:masters