--- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicy metadata: annotations: include.release.openshift.io/hypershift: "true" include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" creationTimestamp: "2026-10-30T06:56:19Z" generation: 1 managedFields: - apiVersion: admissionregistration.k8s.io/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:typeChecking: {} manager: validatingadmissionpolicy-status operation: Apply subresource: status time: "2026-10-30T06:56:19Z" - apiVersion: admissionregistration.k8s.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:include.release.openshift.io/hypershift: {} f:include.release.openshift.io/ibm-cloud-managed: {} f:include.release.openshift.io/self-managed-high-availability: {} f:include.release.openshift.io/single-node-developer: {} f:ownerReferences: .: {} k:{"uid":"6a3e34ea-0712-4e4e-91f6-2aeb80c588fa"}: {} f:spec: f:failurePolicy: {} f:matchConstraints: {} f:validations: {} f:variables: .: {} k:{"name":"fsGroupPolicy"}: {} k:{"name":"hasFsGroupPolicyLabel"}: {} k:{"name":"hasSeLinuxPolicyLabel"}: {} k:{"name":"seLinuxPolicy"}: {} k:{"name":"validFsGroupPolicies"}: {} k:{"name":"validSeLinuxPolicies"}: {} manager: cluster-version-operator operation: Update time: "2026-10-30T06:56:19Z" name: openshift-storage-policy-validation ownerReferences: - apiVersion: config.openshift.io/v1 controller: true kind: ClusterVersion name: version uid: 6a3e34ea-0712-4e4e-91f6-2aeb80c588fa resourceVersion: "5670" uid: 87adea48-bf0c-439e-ad27-9c9b465e92d3 spec: failurePolicy: Fail matchConstraints: matchPolicy: Equivalent namespaceSelector: {} objectSelector: {} resourceRules: - apiGroups: - "" apiVersions: - v1 operations: - CREATE - UPDATE resources: - namespaces scope: '*' validations: - expression: | variables.hasFsGroupPolicyLabel ? variables.fsGroupPolicy in variables.validFsGroupPolicies : true messageExpression: | "Invalid value '" + variables.fsGroupPolicy + "' for label storage.openshift.io/fsgroup-change-policy. Valid values are: " + variables.validFsGroupPolicies.join(", ") reason: Invalid - expression: | variables.hasSeLinuxPolicyLabel ? variables.seLinuxPolicy in variables.validSeLinuxPolicies : true messageExpression: | "Invalid value '" + variables.seLinuxPolicy + "' for label storage.openshift.io/selinux-change-policy. Valid values are: " + variables.validSeLinuxPolicies.join(", ") reason: Invalid variables: - expression: | has(object.metadata.labels) && "storage.openshift.io/fsgroup-change-policy" in object.metadata.labels name: hasFsGroupPolicyLabel - expression: | variables.hasFsGroupPolicyLabel ? object.metadata.labels["storage.openshift.io/fsgroup-change-policy"] : "" name: fsGroupPolicy - expression: | has(object.metadata.labels) && "storage.openshift.io/selinux-change-policy" in object.metadata.labels name: hasSeLinuxPolicyLabel - expression: | variables.hasSeLinuxPolicyLabel ? object.metadata.labels["storage.openshift.io/selinux-change-policy"] : "" name: seLinuxPolicy - expression: '["Always", "OnRootMismatch"]' name: validFsGroupPolicies - expression: '["Recursive", "MountOption"]' name: validSeLinuxPolicies status: observedGeneration: 1 typeChecking: {}