32 lines
1 KiB
YAML
32 lines
1 KiB
YAML
apiVersion: kyverno.io/v1
|
|
kind: ClusterPolicy
|
|
metadata:
|
|
name: min-replicas
|
|
annotations:
|
|
policies.kyverno.io/title: Ban single-replica Deployments
|
|
policies.kyverno.io/category: Best Practices
|
|
policies.kyverno.io/severity: medium
|
|
policies.kyverno.io/description: >-
|
|
Audit Deployments whose effective replica count is exactly one. Stopped
|
|
Deployments may use zero, and available Deployments must use at least two
|
|
unless a resource-specific exception is approved.
|
|
spec:
|
|
validationFailureAction: Audit
|
|
background: true
|
|
rules:
|
|
- name: min-replicas
|
|
match:
|
|
any:
|
|
- resources:
|
|
kinds:
|
|
- Deployment
|
|
validate:
|
|
message: >-
|
|
Deployment replica count must be zero or at least two. A single
|
|
replica requires a resource-specific PolicyException.
|
|
deny:
|
|
conditions:
|
|
all:
|
|
- key: "{{ request.object.spec.replicas || `1` }}"
|
|
operator: Equals
|
|
value: 1
|