--- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration 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" service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-03-12T12:34:02Z" generation: 2 labels: app.kubernetes.io/managed-by: cluster-version-operator app.kubernetes.io/part-of: openshift-monitoring managedFields: - 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:service.beta.openshift.io/inject-cabundle: {} f:labels: .: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/part-of: {} f:ownerReferences: .: {} k:{"uid":"2c9edea6-e77e-452d-9ab7-3ff1119e6431"}: {} f:webhooks: .: {} k:{"name":"monitoringconfigmaps.openshift.io"}: .: {} f:admissionReviewVersions: {} f:clientConfig: .: {} f:service: .: {} f:name: {} f:namespace: {} f:path: {} f:port: {} f:failurePolicy: {} f:matchConditions: .: {} k:{"name":"monitoringconfigmaps"}: .: {} f:expression: {} f:name: {} k:{"name":"not-skipped"}: .: {} f:expression: {} f:name: {} f:matchPolicy: {} f:name: {} f:namespaceSelector: {} f:objectSelector: {} f:rules: {} f:sideEffects: {} f:timeoutSeconds: {} manager: cluster-version-operator operation: Update time: "2026-03-12T12:34:02Z" - apiVersion: admissionregistration.k8s.io/v1 fieldsType: FieldsV1 fieldsV1: f:webhooks: k:{"name":"monitoringconfigmaps.openshift.io"}: f:clientConfig: f:caBundle: {} manager: service-ca-operator operation: Update time: "2026-03-12T12:34:02Z" name: monitoringconfigmaps.openshift.io ownerReferences: - apiVersion: config.openshift.io/v1 controller: true kind: ClusterVersion name: version uid: 2c9edea6-e77e-452d-9ab7-3ff1119e6431 resourceVersion: "14946" uid: 995cc440-abaa-469b-b5ec-850cb6a97779 webhooks: - admissionReviewVersions: - v1 clientConfig: caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURVVENDQWptZ0F3SUJBZ0lJU0YvRyt3QnIvM0F3RFFZSktvWklodmNOQVFFTEJRQXdOakUwTURJR0ExVUUKQXd3cmIzQmxibk5vYVdaMExYTmxjblpwWTJVdGMyVnlkbWx1WnkxemFXZHVaWEpBTVRjM016TXhPREE1TnpBZQpGdzB5TmpBek1USXhNakl4TXpaYUZ3MHlPREExTVRBeE1qSXhNemRhTURZeE5EQXlCZ05WQkFNTUsyOXdaVzV6CmFHbG1kQzF6WlhKMmFXTmxMWE5sY25acGJtY3RjMmxuYm1WeVFERTNOek16TVRnd09UY3dnZ0VpTUEwR0NTcUcKU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ1VPa1hrSHhtWDdUYytzVUZFVm1CVjVWUFBnb3I0Wkc3bgova0FsWG4zOVNYdzRXYmtxbm1kL3hUemtUWW9JeUwyemt3TGJLZFpkRFViRndjSnUySnR3bW03WFB1WUNTdXV3CjRNTWNQRjQ3cGJOeFptUEJPcjdvbVRTZEZxbDhPM2EvQVJUUnZ4SDNIQytDNU9hRnFCMTRmQ0FqSlJUcTMxdFcKTVN4elNvZEJxQVFwUTY0bU1RZUNUNGh2S0c1VFFZSEFZQjdMUU4rVHhGU3BSbGF4dGIvMk1WZWJHSHBWL2VhTwpvanJKQmhURkRUeHNOaTlCS2VtakVPZjNPczNIby82aitVcEtSNlpnb3lHOWszUTJ4bkU0Mm1MWWFlMDZTakc0ClBNSzVHNWUrUng1RTc0bWFxbkwvdVFRUm5GWS9xV0lENHFqNzVYaUFBTGpNelJLU0FlaC9BZ01CQUFHall6QmgKTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlQrckxaVQphQUJBWm5ZVmtnNkVVZ0xNY0taYkF6QWZCZ05WSFNNRUdEQVdnQlQrckxaVWFBQkFabllWa2c2RVVnTE1jS1piCkF6QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFXSWthTGI1UlJyS3c0MmZzcHprZlNnT2xZdXFIajNkNW8vN2sKbUgvV1Q5cDFaWk52U3VWVFIzRms5Z0dpeXkxTHlqV1lOeGVMS2xGb2VsRFhMRU5aNk1iWms1Qkl3cGFVcXVzdwpTWTdhZkYvZjhOWm5oMWMwTElBbkEyZnFTREczSVpMdmhmQS9rUW54bElIWW8xVVNJT09FcC9QMmEzMDFhLzBrCjgrQmJsYWZ3RTVWV1dodVJweE5vSkltY1huSC9wREdqMERzaUxzbFVLakxwSm1sTC81Qk5LRm94RmpOT2kxa2cKQno4bUtXN0pjZGpPY1ZZbi9XMmMxOTRZU2s0RXZ4R1VmNEhxeVNJQ1UzRUN0R2R0OGcvdkZaYzVITnhiWmg4bgpwSVNiREZxMWJWK2NEZzczdDNCR2VReTRVWXdLQ3lUUVNhdGFUOHl6OW9RREpUWEZZUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K service: name: cluster-monitoring-operator namespace: openshift-monitoring path: /validate-webhook/monitoringconfigmaps port: 8443 failurePolicy: Ignore matchConditions: - expression: (request.namespace == "openshift-monitoring" && request.name == "cluster-monitoring-config") || (request.namespace == "openshift-user-workload-monitoring" && request.name == "user-workload-monitoring-config") name: monitoringconfigmaps - expression: '!has(object.metadata.labels) || !("monitoringconfigmaps.openshift.io/skip-validate-webhook" in object.metadata.labels) || object.metadata.labels["monitoringconfigmaps.openshift.io/skip-validate-webhook"] != "true"' name: not-skipped matchPolicy: Equivalent name: monitoringconfigmaps.openshift.io namespaceSelector: matchExpressions: - key: kubernetes.io/metadata.name operator: In values: - openshift-monitoring - openshift-user-workload-monitoring objectSelector: {} rules: - apiGroups: - "" apiVersions: - v1 operations: - CREATE - UPDATE resources: - configmaps scope: Namespaced sideEffects: None timeoutSeconds: 5