--- 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-02-23T13:18:14Z" 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":"e5c3473c-a2b5-448b-89ba-5aa31cd9965c"}: {} 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-02-23T13:18:14Z" - 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-02-23T13:18:33Z" name: monitoringconfigmaps.openshift.io ownerReferences: - apiVersion: config.openshift.io/v1 controller: true kind: ClusterVersion name: version uid: e5c3473c-a2b5-448b-89ba-5aa31cd9965c resourceVersion: "16595" uid: 381576c8-9f1d-47a4-a450-e13bcbb03ecf webhooks: - admissionReviewVersions: - v1 clientConfig: caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURVVENDQWptZ0F3SUJBZ0lJV2xUclYxemRERlF3RFFZSktvWklodmNOQVFFTEJRQXdOakUwTURJR0ExVUUKQXd3cmIzQmxibk5vYVdaMExYTmxjblpwWTJVdGMyVnlkbWx1WnkxemFXZHVaWEpBTVRjM01UZzFNVFkzTnpBZQpGdzB5TmpBeU1qTXhNekF4TVRaYUZ3MHlPREEwTWpNeE16QXhNVGRhTURZeE5EQXlCZ05WQkFNTUsyOXdaVzV6CmFHbG1kQzF6WlhKMmFXTmxMWE5sY25acGJtY3RjMmxuYm1WeVFERTNOekU0TlRFMk56Y3dnZ0VpTUEwR0NTcUcKU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREhZUXB0UU15RmtoZnJVdGEyYy9Jeng0cStBNXd3VkF1ZgpvVlUrb0NiY1BHak9GM3RJQlRMU2FJbzgzQzUrK0VQcnZVbE5SRTdkTDFhYkhGeVBxcHVKWC9NUVdZVGtnazRRCkE2eklyVXR3ZXpkaVo3NUFqL1J3NUI3SWdXRGhaanF2ZllUNFg2clZia2NlLzVmNTk5Um5GQjFDOVp0UlZIMU4KNEc0bUMyUzNXYXRYcW5xN0QxNDVNK3RqV255MndhMnI4OC81d3hEbFJuZytsR1VIdi9VaEZqT0ZydEhiQW5ZawpqTitXUmFYL05aQkRRRjRFL3FYRlp3cE94ZURaSGRlV0p2V3lQd1FCVjRaa2RUalBmd0J1d0pzTVBEbW1QSnZTCjZ2NzdWcFJVOVBiWXJoTVdjUnRpZm16QmgzNkFCY201TkppNW15RmR1cmNjNDVZelVjMXpBZ01CQUFHall6QmgKTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlFjQnJ6ZwpyV3ZhOVJ5NVZtdjhTaW9Ebit4eS96QWZCZ05WSFNNRUdEQVdnQlFjQnJ6Z3JXdmE5Unk1Vm12OFNpb0RuK3h5Ci96QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUF1WElESUhUSU9yNi96MFJKcnJhbE9SNjFqQjdNRndOMGRaazIKNGFPaE1WTW5oL3pyeVVDV0FZd1VOYjRmdk5Gdkl5dnFQRlI1dG82N2RnQ0FxNElGWGxBaVJ3ZSsrWjhnMXpGKwowbitFQllPYkN1aHowZzM4YnEwWGp6UWMza1R0OVczTitMMi9wNHV4dDQ5WjV4Vm41c3RwU0RXWlBXTDhrWVN2CjRPYmY1UWxKTitNbkptZzkrNG5QcjE4bTRjUXE2OW9BQ3ZyVFdJc21SaGxwdzZoRTFXak9OUFZkak9Ya2c3aDcKYlltdUlKYzNieEQ1NGZrQ2hPRDdYWXVGZ0IzZDExa245RUFKQm5UT1oxOXphc1lodTVWZU1KWitXaU5IcDA1OApueHlBcWpUcXdZdGw3QlNUZGkyamNFcXd5bTgvazVwc1BZcjVYeFBRTjFWZXRDbFJyUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K 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