26 lines
898 B
YAML
26 lines
898 B
YAML
# infrastructure/modules/base/storageclass/veles-oceanus-policy.yaml
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingAdmissionPolicy
|
|
metadata:
|
|
name: veles-oceanus-storage-namespace
|
|
spec:
|
|
failurePolicy: Fail
|
|
matchConstraints:
|
|
resourceRules:
|
|
- apiGroups: [""]
|
|
apiVersions: ["v1"]
|
|
operations: ["CREATE", "UPDATE"]
|
|
resources: ["persistentvolumeclaims"]
|
|
validations:
|
|
- expression: "!has(object.spec.storageClassName) || !(object.spec.storageClassName in ['veles-oceanus-db', 'veles-oceanus-artifacts']) || object.metadata.namespace == 'veles'"
|
|
message: "Veles Oceanus storage classes are reserved for namespace veles"
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingAdmissionPolicyBinding
|
|
metadata:
|
|
name: veles-oceanus-storage-namespace
|
|
spec:
|
|
policyName: veles-oceanus-storage-namespace
|
|
validationActions:
|
|
- Deny
|