--- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicy metadata: annotations: internal.config.kubernetes.io/previousKinds: ValidatingAdmissionPolicy internal.config.kubernetes.io/previousNames: connectionapi-check-s3-bucket internal.config.kubernetes.io/previousNamespaces: default platform.opendatahub.io/instance.generation: "2" platform.opendatahub.io/instance.name: default platform.opendatahub.io/instance.uid: 25050014-ec4c-4180-a796-cc483971e2b0 platform.opendatahub.io/type: Open Data Hub platform.opendatahub.io/version: 3.6.0-ea.2 creationTimestamp: "2026-10-30T18:53:32Z" generation: 1 labels: platform.opendatahub.io/part-of: platform 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-30T18:53:32Z" - apiVersion: admissionregistration.k8s.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:internal.config.kubernetes.io/previousKinds: {} f:internal.config.kubernetes.io/previousNames: {} f:internal.config.kubernetes.io/previousNamespaces: {} f:platform.opendatahub.io/instance.generation: {} f:platform.opendatahub.io/instance.name: {} f:platform.opendatahub.io/instance.uid: {} f:platform.opendatahub.io/type: {} f:platform.opendatahub.io/version: {} f:labels: f:platform.opendatahub.io/part-of: {} f:ownerReferences: k:{"uid":"25050014-ec4c-4180-a796-cc483971e2b0"}: {} f:spec: f:failurePolicy: {} f:matchConstraints: {} f:validations: {} manager: platform operation: Apply time: "2026-10-30T18:53:47Z" name: connectionapi-check-s3-bucket ownerReferences: - apiVersion: config.opendatahub.io/v1alpha1 blockOwnerDeletion: true controller: true kind: Platform name: default uid: 25050014-ec4c-4180-a796-cc483971e2b0 resourceVersion: "16353" uid: 465b9bff-4514-4f1e-9a30-5fd3f5471da1 spec: failurePolicy: Fail matchConstraints: matchPolicy: Equivalent namespaceSelector: {} objectSelector: {} resourceRules: - apiGroups: - "" apiVersions: - v1 operations: - CREATE - UPDATE resources: - secrets scope: '*' validations: - expression: |- !has(object.metadata.annotations) || !( ('opendatahub.io/connection-type-protocol' in object.metadata.annotations && object.metadata.annotations['opendatahub.io/connection-type-protocol'] == 's3') || ('opendatahub.io/connection-type-ref' in object.metadata.annotations && object.metadata.annotations['opendatahub.io/connection-type-ref'] == 's3') ) || (has(object.data) && 'AWS_S3_BUCKET' in object.data && size(object.data.AWS_S3_BUCKET) > 0) messageExpression: '"Secret ''" + object.metadata.name + "'' has S3 connection type annotation but is missing ''AWS_S3_BUCKET'' data key or with empty string as value"' reason: Invalid status: observedGeneration: 1 typeChecking: {}