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: "2025-10-14T13:23:20Z" generation: 2 labels: app.kubernetes.io/managed-by: cluster-version-operator app.kubernetes.io/part-of: openshift-monitoring name: monitoringconfigmaps.openshift.io ownerReferences: - apiVersion: config.openshift.io/v1 controller: true kind: ClusterVersion name: version uid: bf96c554-a781-4a26-b807-e0024ad62e01 resourceVersion: "23478" uid: 0c44022c-7dbf-4e41-b3cf-7c574c39ad19 webhooks: - admissionReviewVersions: - v1 clientConfig: caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURVVENDQWptZ0F3SUJBZ0lJSkpXTm9ZM2ZQdWd3RFFZSktvWklodmNOQVFFTEJRQXdOakUwTURJR0ExVUUKQXd3cmIzQmxibk5vYVdaMExYTmxjblpwWTJVdGMyVnlkbWx1WnkxemFXZHVaWEpBTVRjMk1EUTBOekk1TWpBZQpGdzB5TlRFd01UUXhNekE0TVRGYUZ3MHlOekV5TVRNeE16QTRNVEphTURZeE5EQXlCZ05WQkFNTUsyOXdaVzV6CmFHbG1kQzF6WlhKMmFXTmxMWE5sY25acGJtY3RjMmxuYm1WeVFERTNOakEwTkRjeU9USXdnZ0VpTUEwR0NTcUcKU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRFF3WUQzazhFSXA5ZmdlbUVoek1vVlE1bnlob2x3OExWUApOVXhUNjlONmdXdnFDbGdhMlI1SEEwSVkxd2Uvbk5OQ2xCejQ1TDF4RHJYNHZrQUF5THYwa3p6TndYeENleGhiCkxLNnRaQU0vL3IvTHgvMW5mclJNL1JrUENBNzNPRVRYRWZsanFaV043RkE0NFQ4NEhXUllRS0xweDZ4Zzk4aU0KeW80Y2wyUnhkellwV0M0L09XTXlEbVVjemJhcmoxNXV4eTdUMndOVzZmVjBBM2ZZeEZmVktOVGRXK2FhYytGWQpFTllrbU5XbE9JNVBZWi90dFB3NzhBQk1YdEVBQ0FuV3U2WTJ0Z3F4Smk3M09VKzJITzRtUnhibStHdGMvNDRaCmZZcDREZExuN1ZlZ25vb1lVQWVlanJMWUdTNkd0dlkyV3BTdW0rb3NTUjMyZFJBc1dKOEhBZ01CQUFHall6QmgKTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjBHQTFVZERnUVdCQlJrRno1aQpVWXZrSWNLYm15UWNhRmRCcGZxU01qQWZCZ05WSFNNRUdEQVdnQlJrRno1aVVZdmtJY0tibXlRY2FGZEJwZnFTCk1qQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFnK2VXeFZ2WHpVNk1PZXVETFlDa3ZhQ0NkeVNKbHRjZkVJckMKUGtlaHdCb2xPTTdHLzZSWFhrTXdrbXJiMU1XdEFySXVyRkF2RnRXREJnbk5sNzdRUi9qY1NhK2NncTIzWm91dApaTksvSStXT1U4OTRYT1pUU2pzMElhajZMb2gyTDF4MlFQd2I4YXozWTE0bWRTOXU5MDJ6bGJiSHp3MU12dFMzClUyL1p6dHUxRzd5UHBwcHA4M3E2Yk1IRlpQYVRLNGt1eGtXeXd2dG1YZXg3ZVFmaC9LU0RMQm5LZ1dBcFJlQk4KYkpRcXNPWDNXckJxVXFqVmlQOFdDbk9wWC9JWEVjZExoUGd2TnBmSEZ0QzhoUkR3dVV3djJaUW5zWVdJSG1sSgphVGNsSnZhZXFZWkpWcmE0c3BnN0pxRXlTNlpDdVZ6K254T1F0QzlSR2JlamtmRWdhZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K 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