apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
  annotations:
    cert-manager.io/inject-ca-from: openstack-operators/openstack-operator-serving-cert
  creationTimestamp: "2026-04-04T02:17:12Z"
  generation: 2
  labels:
    openstack.openstack.org/managed: "true"
  name: openstack-operator-mutating-webhook-configuration
  resourceVersion: "40269"
  uid: 0c3984c3-88c3-43c4-b1e8-5570e9993f13
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-v1beta1.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-v1beta1.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-v1beta1.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-v1beta1.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-v1beta1.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-v1beta1.kb.io
  namespaceSelector: {}
  objectSelector: {}
  reinvocationPolicy: Never
  rules:
  - apiGroups:
    - dataplane.openstack.org
    apiVersions:
    - v1beta1
    operations:
    - CREATE
    - UPDATE
    resources:
    - openstackdataplaneservices
    scope: '*'
  sideEffects: None
  timeoutSeconds: 10
- 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-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-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
