apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: annotations: cert-manager.io/inject-ca-from: openstack-operators/openstack-operator-serving-cert creationTimestamp: "2025-10-11T10:51:57Z" generation: 2 labels: app.kubernetes.io/component: webhook app.kubernetes.io/created-by: openstack-operator app.kubernetes.io/instance: mutating-webhook-configuration app.kubernetes.io/managed-by: kustomize app.kubernetes.io/name: mutatingingwebhookconfiguration app.kubernetes.io/part-of: openstack-operator openstack.openstack.org/managed: "true" name: openstack-operator-mutating-webhook-configuration resourceVersion: "32992" uid: 53b08dda-bfd8-4d91-9119-0a4ff222b343 webhooks: - admissionReviewVersions: - v1 clientConfig: service: name: openstack-operator-webhook-service namespace: openstack-operators path: /mutate-client-openstack-org-v1beta1-openstackclient port: 443 failurePolicy: Fail matchPolicy: Equivalent name: mopenstackclient.kb.io namespaceSelector: {} objectSelector: {} reinvocationPolicy: Never rules: - apiGroups: - client.openstack.org apiVersions: - v1beta1 operations: - CREATE - UPDATE resources: - openstackclients scope: '*' sideEffects: None timeoutSeconds: 10 - admissionReviewVersions: - v1 clientConfig: service: name: openstack-operator-webhook-service namespace: openstack-operators path: /mutate-core-openstack-org-v1beta1-openstackcontrolplane port: 443 failurePolicy: Fail matchPolicy: Equivalent name: mopenstackcontrolplane.kb.io namespaceSelector: {} objectSelector: {} reinvocationPolicy: Never rules: - apiGroups: - core.openstack.org apiVersions: - v1beta1 operations: - CREATE - UPDATE resources: - openstackcontrolplanes scope: '*' sideEffects: None timeoutSeconds: 10 - admissionReviewVersions: - v1 clientConfig: service: name: openstack-operator-webhook-service namespace: openstack-operators path: /mutate-core-openstack-org-v1beta1-openstackversion port: 443 failurePolicy: Fail matchPolicy: Equivalent name: mopenstackversion.kb.io namespaceSelector: {} objectSelector: {} reinvocationPolicy: Never rules: - apiGroups: - core.openstack.org apiVersions: - v1beta1 operations: - CREATE - UPDATE resources: - openstackversions scope: '*' sideEffects: None timeoutSeconds: 10 - admissionReviewVersions: - v1 clientConfig: service: name: openstack-operator-webhook-service namespace: openstack-operators path: /mutate-dataplane-openstack-org-v1beta1-openstackdataplanedeployment port: 443 failurePolicy: Fail matchPolicy: Equivalent name: mopenstackdataplanedeployment.kb.io namespaceSelector: {} objectSelector: {} reinvocationPolicy: Never rules: - apiGroups: - dataplane.openstack.org apiVersions: - v1beta1 operations: - CREATE - UPDATE resources: - openstackdataplanedeployments scope: '*' sideEffects: None timeoutSeconds: 10 - admissionReviewVersions: - v1 clientConfig: service: name: openstack-operator-webhook-service namespace: openstack-operators path: /mutate-dataplane-openstack-org-v1beta1-openstackdataplanenodeset port: 443 failurePolicy: Fail matchPolicy: Equivalent name: mopenstackdataplanenodeset.kb.io namespaceSelector: {} objectSelector: {} reinvocationPolicy: Never rules: - apiGroups: - dataplane.openstack.org apiVersions: - v1beta1 operations: - CREATE - UPDATE resources: - openstackdataplanenodesets scope: '*' sideEffects: None timeoutSeconds: 10 - admissionReviewVersions: - v1 clientConfig: service: name: openstack-operator-webhook-service namespace: openstack-operators path: /mutate-dataplane-openstack-org-v1beta1-openstackdataplaneservice port: 443 failurePolicy: Fail matchPolicy: Equivalent name: mopenstackdataplaneservice.kb.io namespaceSelector: {} objectSelector: {} reinvocationPolicy: Never rules: - apiGroups: - dataplane.openstack.org apiVersions: - v1beta1 operations: - CREATE - UPDATE resources: - openstackdataplaneservices scope: '*' sideEffects: None timeoutSeconds: 10