kind: CustomResourceDefinition
spec:
  group: zookeeper.stackable.tech
  names:
    kind: ZookeeperCluster
    plural: zookeeperclusters
    singular: zookeepercluster
    categories: []
    shortNames:
      - zk
  scope: Namespaced
  versions:
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          type: object
          title: ZookeeperCluster
          required:
            - spec
          properties:
            spec:
              type: object
              required:
                - image
              properties:
                image:
                  type: object
                  anyOf:
                    - required:
                        - custom
                        - productVersion
                    - required:
                        - productVersion
                  properties:
                    repo:
                      type: string
                      nullable: true
                      description: Name of the docker repo, e.g. `docker.stackable.tech/stackable`
                    custom:
                      type: string
                      description: Overwrite the docker image. Specify the full docker image name,
                        e.g.
                        `docker.stackable.tech/stackable/superset:1.4.1-stackable2.1.0`
                    pullPolicy:
                      enum:
                        - IfNotPresent
                        - Always
                        - Never
                      type: string
                      default: Always
                      description: "[Pull
                        policy](https://kubernetes.io/docs/concepts/containers/image\
                        s/#image-pull-policy) used when pulling the image."
                    pullSecrets:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                            description: "Name of the referent. More info:
                              https://kubernetes.io/docs/concepts/overview/work\
                              ing-with-objects/names/#names"
                        description: LocalObjectReference contains enough information to let you locate
                          the referenced object inside the same namespace.
                      nullable: true
                      description: "[Image pull
                        secrets](https://kubernetes.io/docs/concepts/containers\
                        /images/#specifying-imagepullsecrets-on-a-pod) to pull
                        images from a private registry."
                    productVersion:
                      type: string
                      description: Version of the product, e.g. `1.4.1`.
                    stackableVersion:
                      type: string
                      nullable: true
                      description: Stackable version of the product, e.g. `23.4`, `23.4.1` or
                        `0.0.0-dev`. If not specified, the operator will use its
                        own version, e.g. `23.4.1`. When using a nightly
                        operator or a pr version, it will use the nightly
                        `0.0.0-dev` image.
                  description: |-
                    Specify which image to use, the easiest way is to only configure the `productVersion`. You can also configure a custom image registry to pull from, as well as completely custom images.

                    Consult the [Product image selection documentation](https://docs.stackable.tech/home/24.3/concepts/product_image_selection) for details.
                servers:
                  type: object
                  nullable: true
                  required:
                    - roleGroups
                  properties:
                    config:
                      type: object
                      default: {}
                      properties:
                        logging:
                          type: object
                          default:
                            containers: {}
                            enableVectorAgent: null
                          properties:
                            containers:
                              type: object
                              description: Log configuration per container.
                              additionalProperties:
                                type: object
                                anyOf:
                                  - required:
                                      - custom
                                  - {}
                                properties:
                                  file:
                                    type: object
                                    nullable: true
                                    properties:
                                      level:
                                        enum:
                                          - TRACE
                                          - DEBUG
                                          - INFO
                                          - WARN
                                          - ERROR
                                          - FATAL
                                          - NONE
                                        type: string
                                        nullable: true
                                        description: The log level threshold. Log events with a lower log level are
                                          discarded.
                                    description: Configuration for the file appender
                                  custom:
                                    type: object
                                    properties:
                                      configMap:
                                        type: string
                                        nullable: true
                                        description: ConfigMap containing the log configuration files
                                    description: Custom log configuration provided in a ConfigMap
                                  console:
                                    type: object
                                    nullable: true
                                    properties:
                                      level:
                                        enum:
                                          - TRACE
                                          - DEBUG
                                          - INFO
                                          - WARN
                                          - ERROR
                                          - FATAL
                                          - NONE
                                        type: string
                                        nullable: true
                                        description: The log level threshold. Log events with a lower log level are
                                          discarded.
                                    description: Configuration for the console appender
                                  loggers:
                                    type: object
                                    default: {}
                                    description: Configuration per logger
                                    additionalProperties:
                                      type: object
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                          type: string
                                          nullable: true
                                          description: The log level threshold. Log events with a lower log level are
                                            discarded.
                                      description: Configuration of a logger
                                description: Log configuration of the container
                            enableVectorAgent:
                              type: boolean
                              nullable: true
                              description: Wether or not to deploy a container with the Vector log agent.
                          description: Logging configuration, learn more in the [logging concept
                            documentation](https://docs.stackable.tech/home/24.3/concepts/logging).
                        affinity:
                          type: object
                          default:
                            podAffinity: null
                            nodeAffinity: null
                            nodeSelector: null
                            podAntiAffinity: null
                          properties:
                            podAffinity:
                              type: object
                              nullable: true
                              properties:
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - topologyKey
                                    properties:
                                      namespaces:
                                        type: array
                                        items:
                                          type: string
                                        description: namespaces specifies a static list of namespace names that the term
                                          applies to. The term is applied to the
                                          union of the namespaces listed in this
                                          field and the ones selected by
                                          namespaceSelector. null or empty
                                          namespaces list and null
                                          namespaceSelector means "this pod's
                                          namespace".
                                      topologyKey:
                                        type: string
                                        description: This pod should be co-located (affinity) or not co-located
                                          (anti-affinity) with the pods matching
                                          the labelSelector in the specified
                                          namespaces, where co-located is
                                          defined as running on a node whose
                                          value of the label with key
                                          topologyKey matches that of any node
                                          on which any of the selected pods is
                                          running. Empty topologyKey is not
                                          allowed.
                                      labelSelector:
                                        type: object
                                        properties:
                                          matchLabels:
                                            type: object
                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                              the matchLabels map is equivalent
                                              to an element of matchExpressions,
                                              whose key field is "key", the
                                              operator is "In", and the values
                                              array contains only "value". The
                                              requirements are ANDed.
                                            additionalProperties:
                                              type: string
                                          matchExpressions:
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - key
                                                - operator
                                              properties:
                                                key:
                                                  type: string
                                                  description: key is the label key that the selector applies to.
                                                values:
                                                  type: array
                                                  items:
                                                    type: string
                                                  description: values is an array of string values. If the operator is In or
                                                    NotIn, the values array must
                                                    be non-empty. If the
                                                    operator is Exists or
                                                    DoesNotExist, the values
                                                    array must be empty. This
                                                    array is replaced during a
                                                    strategic merge patch.
                                                operator:
                                                  type: string
                                                  description: operator represents a key's relationship to a set of values. Valid
                                                    operators are In, NotIn,
                                                    Exists and DoesNotExist.
                                              description: A label selector requirement is a selector that contains values, a
                                                key, and an operator that
                                                relates the key and values.
                                            description: matchExpressions is a list of label selector requirements. The
                                              requirements are ANDed.
                                        description: A label query over a set of resources, in this case pods.
                                      namespaceSelector:
                                        type: object
                                        properties:
                                          matchLabels:
                                            type: object
                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                              the matchLabels map is equivalent
                                              to an element of matchExpressions,
                                              whose key field is "key", the
                                              operator is "In", and the values
                                              array contains only "value". The
                                              requirements are ANDed.
                                            additionalProperties:
                                              type: string
                                          matchExpressions:
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - key
                                                - operator
                                              properties:
                                                key:
                                                  type: string
                                                  description: key is the label key that the selector applies to.
                                                values:
                                                  type: array
                                                  items:
                                                    type: string
                                                  description: values is an array of string values. If the operator is In or
                                                    NotIn, the values array must
                                                    be non-empty. If the
                                                    operator is Exists or
                                                    DoesNotExist, the values
                                                    array must be empty. This
                                                    array is replaced during a
                                                    strategic merge patch.
                                                operator:
                                                  type: string
                                                  description: operator represents a key's relationship to a set of values. Valid
                                                    operators are In, NotIn,
                                                    Exists and DoesNotExist.
                                              description: A label selector requirement is a selector that contains values, a
                                                key, and an operator that
                                                relates the key and values.
                                            description: matchExpressions is a list of label selector requirements. The
                                              requirements are ANDed.
                                        description: A label query over the set of namespaces that the term applies to.
                                          The term is applied to the union of
                                          the namespaces selected by this field
                                          and the ones listed in the namespaces
                                          field. null selector and null or empty
                                          namespaces list means "this pod's
                                          namespace". An empty selector ({})
                                          matches all namespaces.
                                    description: Defines a set of pods (namely those matching the labelSelector
                                      relative to the given namespace(s)) that
                                      this pod should be co-located (affinity)
                                      or not co-located (anti-affinity) with,
                                      where co-located is defined as running on
                                      a node whose value of the label with key
                                      <topologyKey> matches that of any node on
                                      which a pod of the set of pods is running
                                  description: If the affinity requirements specified by this field are not met at
                                    scheduling time, the pod will not be
                                    scheduled onto the node. If the affinity
                                    requirements specified by this field cease
                                    to be met at some point during pod execution
                                    (e.g. due to a pod label update), the system
                                    may or may not try to eventually evict the
                                    pod from its node. When there are multiple
                                    elements, the lists of nodes corresponding
                                    to each podAffinityTerm are intersected,
                                    i.e. all terms must be satisfied.
                                preferredDuringSchedulingIgnoredDuringExecution:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - podAffinityTerm
                                      - weight
                                    properties:
                                      weight:
                                        type: integer
                                        format: int32
                                        description: weight associated with matching the corresponding podAffinityTerm,
                                          in the range 1-100.
                                      podAffinityTerm:
                                        type: object
                                        required:
                                          - topologyKey
                                        properties:
                                          namespaces:
                                            type: array
                                            items:
                                              type: string
                                            description: namespaces specifies a static list of namespace names that the term
                                              applies to. The term is applied to
                                              the union of the namespaces listed
                                              in this field and the ones
                                              selected by namespaceSelector.
                                              null or empty namespaces list and
                                              null namespaceSelector means "this
                                              pod's namespace".
                                          topologyKey:
                                            type: string
                                            description: This pod should be co-located (affinity) or not co-located
                                              (anti-affinity) with the pods
                                              matching the labelSelector in the
                                              specified namespaces, where
                                              co-located is defined as running
                                              on a node whose value of the label
                                              with key topologyKey matches that
                                              of any node on which any of the
                                              selected pods is running. Empty
                                              topologyKey is not allowed.
                                          labelSelector:
                                            type: object
                                            properties:
                                              matchLabels:
                                                type: object
                                                description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                  the matchLabels map is
                                                  equivalent to an element of
                                                  matchExpressions, whose key
                                                  field is "key", the operator
                                                  is "In", and the values array
                                                  contains only "value". The
                                                  requirements are ANDed.
                                                additionalProperties:
                                                  type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - key
                                                    - operator
                                                  properties:
                                                    key:
                                                      type: string
                                                      description: key is the label key that the selector applies to.
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                      description: values is an array of string values. If the operator is In or
                                                        NotIn, the values array
                                                        must be non-empty. If
                                                        the operator is Exists
                                                        or DoesNotExist, the
                                                        values array must be
                                                        empty. This array is
                                                        replaced during a
                                                        strategic merge patch.
                                                    operator:
                                                      type: string
                                                      description: operator represents a key's relationship to a set of values. Valid
                                                        operators are In, NotIn,
                                                        Exists and DoesNotExist.
                                                  description: A label selector requirement is a selector that contains values, a
                                                    key, and an operator that
                                                    relates the key and values.
                                                description: matchExpressions is a list of label selector requirements. The
                                                  requirements are ANDed.
                                            description: A label query over a set of resources, in this case pods.
                                          namespaceSelector:
                                            type: object
                                            properties:
                                              matchLabels:
                                                type: object
                                                description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                  the matchLabels map is
                                                  equivalent to an element of
                                                  matchExpressions, whose key
                                                  field is "key", the operator
                                                  is "In", and the values array
                                                  contains only "value". The
                                                  requirements are ANDed.
                                                additionalProperties:
                                                  type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - key
                                                    - operator
                                                  properties:
                                                    key:
                                                      type: string
                                                      description: key is the label key that the selector applies to.
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                      description: values is an array of string values. If the operator is In or
                                                        NotIn, the values array
                                                        must be non-empty. If
                                                        the operator is Exists
                                                        or DoesNotExist, the
                                                        values array must be
                                                        empty. This array is
                                                        replaced during a
                                                        strategic merge patch.
                                                    operator:
                                                      type: string
                                                      description: operator represents a key's relationship to a set of values. Valid
                                                        operators are In, NotIn,
                                                        Exists and DoesNotExist.
                                                  description: A label selector requirement is a selector that contains values, a
                                                    key, and an operator that
                                                    relates the key and values.
                                                description: matchExpressions is a list of label selector requirements. The
                                                  requirements are ANDed.
                                            description: A label query over the set of namespaces that the term applies to.
                                              The term is applied to the union
                                              of the namespaces selected by this
                                              field and the ones listed in the
                                              namespaces field. null selector
                                              and null or empty namespaces list
                                              means "this pod's namespace". An
                                              empty selector ({}) matches all
                                              namespaces.
                                        description: Required. A pod affinity term, associated with the corresponding
                                          weight.
                                    description: The weights of all of the matched WeightedPodAffinityTerm fields
                                      are added per-node to find the most
                                      preferred node(s)
                                  description: The scheduler will prefer to schedule pods to nodes that satisfy
                                    the affinity expressions specified by this
                                    field, but it may choose a node that
                                    violates one or more of the expressions. The
                                    node that is most preferred is the one with
                                    the greatest sum of weights, i.e. for each
                                    node that meets all of the scheduling
                                    requirements (resource request,
                                    requiredDuringScheduling affinity
                                    expressions, etc.), compute a sum by
                                    iterating through the elements of this field
                                    and adding "weight" to the sum if the node
                                    has pods which matches the corresponding
                                    podAffinityTerm; the node(s) with the
                                    highest sum are the most preferred.
                              description: Pod affinity is a group of inter pod affinity scheduling rules.
                            nodeAffinity:
                              type: object
                              nullable: true
                              properties:
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  type: object
                                  required:
                                    - nodeSelectorTerms
                                  properties:
                                    nodeSelectorTerms:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          matchFields:
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - key
                                                - operator
                                              properties:
                                                key:
                                                  type: string
                                                  description: The label key that the selector applies to.
                                                values:
                                                  type: array
                                                  items:
                                                    type: string
                                                  description: An array of string values. If the operator is In or NotIn, the
                                                    values array must be
                                                    non-empty. If the operator
                                                    is Exists or DoesNotExist,
                                                    the values array must be
                                                    empty. If the operator is Gt
                                                    or Lt, the values array must
                                                    have a single element, which
                                                    will be interpreted as an
                                                    integer. This array is
                                                    replaced during a strategic
                                                    merge patch.
                                                operator:
                                                  type: string
                                                  description: Represents a key's relationship to a set of values. Valid operators
                                                    are In, NotIn, Exists,
                                                    DoesNotExist. Gt, and Lt.
                                              description: A node selector requirement is a selector that contains values, a
                                                key, and an operator that
                                                relates the key and values.
                                            description: A list of node selector requirements by node's fields.
                                          matchExpressions:
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - key
                                                - operator
                                              properties:
                                                key:
                                                  type: string
                                                  description: The label key that the selector applies to.
                                                values:
                                                  type: array
                                                  items:
                                                    type: string
                                                  description: An array of string values. If the operator is In or NotIn, the
                                                    values array must be
                                                    non-empty. If the operator
                                                    is Exists or DoesNotExist,
                                                    the values array must be
                                                    empty. If the operator is Gt
                                                    or Lt, the values array must
                                                    have a single element, which
                                                    will be interpreted as an
                                                    integer. This array is
                                                    replaced during a strategic
                                                    merge patch.
                                                operator:
                                                  type: string
                                                  description: Represents a key's relationship to a set of values. Valid operators
                                                    are In, NotIn, Exists,
                                                    DoesNotExist. Gt, and Lt.
                                              description: A node selector requirement is a selector that contains values, a
                                                key, and an operator that
                                                relates the key and values.
                                            description: A list of node selector requirements by node's labels.
                                        description: A null or empty node selector term matches no objects. The
                                          requirements of them are ANDed. The
                                          TopologySelectorTerm type implements a
                                          subset of the NodeSelectorTerm.
                                      description: Required. A list of node selector terms. The terms are ORed.
                                  description: If the affinity requirements specified by this field are not met at
                                    scheduling time, the pod will not be
                                    scheduled onto the node. If the affinity
                                    requirements specified by this field cease
                                    to be met at some point during pod execution
                                    (e.g. due to an update), the system may or
                                    may not try to eventually evict the pod from
                                    its node.
                                preferredDuringSchedulingIgnoredDuringExecution:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - preference
                                      - weight
                                    properties:
                                      weight:
                                        type: integer
                                        format: int32
                                        description: Weight associated with matching the corresponding nodeSelectorTerm,
                                          in the range 1-100.
                                      preference:
                                        type: object
                                        properties:
                                          matchFields:
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - key
                                                - operator
                                              properties:
                                                key:
                                                  type: string
                                                  description: The label key that the selector applies to.
                                                values:
                                                  type: array
                                                  items:
                                                    type: string
                                                  description: An array of string values. If the operator is In or NotIn, the
                                                    values array must be
                                                    non-empty. If the operator
                                                    is Exists or DoesNotExist,
                                                    the values array must be
                                                    empty. If the operator is Gt
                                                    or Lt, the values array must
                                                    have a single element, which
                                                    will be interpreted as an
                                                    integer. This array is
                                                    replaced during a strategic
                                                    merge patch.
                                                operator:
                                                  type: string
                                                  description: Represents a key's relationship to a set of values. Valid operators
                                                    are In, NotIn, Exists,
                                                    DoesNotExist. Gt, and Lt.
                                              description: A node selector requirement is a selector that contains values, a
                                                key, and an operator that
                                                relates the key and values.
                                            description: A list of node selector requirements by node's fields.
                                          matchExpressions:
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - key
                                                - operator
                                              properties:
                                                key:
                                                  type: string
                                                  description: The label key that the selector applies to.
                                                values:
                                                  type: array
                                                  items:
                                                    type: string
                                                  description: An array of string values. If the operator is In or NotIn, the
                                                    values array must be
                                                    non-empty. If the operator
                                                    is Exists or DoesNotExist,
                                                    the values array must be
                                                    empty. If the operator is Gt
                                                    or Lt, the values array must
                                                    have a single element, which
                                                    will be interpreted as an
                                                    integer. This array is
                                                    replaced during a strategic
                                                    merge patch.
                                                operator:
                                                  type: string
                                                  description: Represents a key's relationship to a set of values. Valid operators
                                                    are In, NotIn, Exists,
                                                    DoesNotExist. Gt, and Lt.
                                              description: A node selector requirement is a selector that contains values, a
                                                key, and an operator that
                                                relates the key and values.
                                            description: A list of node selector requirements by node's labels.
                                        description: A node selector term, associated with the corresponding weight.
                                    description: An empty preferred scheduling term matches all objects with
                                      implicit weight 0 (i.e. it's a no-op). A
                                      null preferred scheduling term matches no
                                      objects (i.e. is also a no-op).
                                  description: The scheduler will prefer to schedule pods to nodes that satisfy
                                    the affinity expressions specified by this
                                    field, but it may choose a node that
                                    violates one or more of the expressions. The
                                    node that is most preferred is the one with
                                    the greatest sum of weights, i.e. for each
                                    node that meets all of the scheduling
                                    requirements (resource request,
                                    requiredDuringScheduling affinity
                                    expressions, etc.), compute a sum by
                                    iterating through the elements of this field
                                    and adding "weight" to the sum if the node
                                    matches the corresponding matchExpressions;
                                    the node(s) with the highest sum are the
                                    most preferred.
                              description: Node affinity is a group of node affinity scheduling rules.
                            nodeSelector:
                              type: object
                              nullable: true
                            podAntiAffinity:
                              type: object
                              nullable: true
                              properties:
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - topologyKey
                                    properties:
                                      namespaces:
                                        type: array
                                        items:
                                          type: string
                                        description: namespaces specifies a static list of namespace names that the term
                                          applies to. The term is applied to the
                                          union of the namespaces listed in this
                                          field and the ones selected by
                                          namespaceSelector. null or empty
                                          namespaces list and null
                                          namespaceSelector means "this pod's
                                          namespace".
                                      topologyKey:
                                        type: string
                                        description: This pod should be co-located (affinity) or not co-located
                                          (anti-affinity) with the pods matching
                                          the labelSelector in the specified
                                          namespaces, where co-located is
                                          defined as running on a node whose
                                          value of the label with key
                                          topologyKey matches that of any node
                                          on which any of the selected pods is
                                          running. Empty topologyKey is not
                                          allowed.
                                      labelSelector:
                                        type: object
                                        properties:
                                          matchLabels:
                                            type: object
                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                              the matchLabels map is equivalent
                                              to an element of matchExpressions,
                                              whose key field is "key", the
                                              operator is "In", and the values
                                              array contains only "value". The
                                              requirements are ANDed.
                                            additionalProperties:
                                              type: string
                                          matchExpressions:
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - key
                                                - operator
                                              properties:
                                                key:
                                                  type: string
                                                  description: key is the label key that the selector applies to.
                                                values:
                                                  type: array
                                                  items:
                                                    type: string
                                                  description: values is an array of string values. If the operator is In or
                                                    NotIn, the values array must
                                                    be non-empty. If the
                                                    operator is Exists or
                                                    DoesNotExist, the values
                                                    array must be empty. This
                                                    array is replaced during a
                                                    strategic merge patch.
                                                operator:
                                                  type: string
                                                  description: operator represents a key's relationship to a set of values. Valid
                                                    operators are In, NotIn,
                                                    Exists and DoesNotExist.
                                              description: A label selector requirement is a selector that contains values, a
                                                key, and an operator that
                                                relates the key and values.
                                            description: matchExpressions is a list of label selector requirements. The
                                              requirements are ANDed.
                                        description: A label query over a set of resources, in this case pods.
                                      namespaceSelector:
                                        type: object
                                        properties:
                                          matchLabels:
                                            type: object
                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                              the matchLabels map is equivalent
                                              to an element of matchExpressions,
                                              whose key field is "key", the
                                              operator is "In", and the values
                                              array contains only "value". The
                                              requirements are ANDed.
                                            additionalProperties:
                                              type: string
                                          matchExpressions:
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - key
                                                - operator
                                              properties:
                                                key:
                                                  type: string
                                                  description: key is the label key that the selector applies to.
                                                values:
                                                  type: array
                                                  items:
                                                    type: string
                                                  description: values is an array of string values. If the operator is In or
                                                    NotIn, the values array must
                                                    be non-empty. If the
                                                    operator is Exists or
                                                    DoesNotExist, the values
                                                    array must be empty. This
                                                    array is replaced during a
                                                    strategic merge patch.
                                                operator:
                                                  type: string
                                                  description: operator represents a key's relationship to a set of values. Valid
                                                    operators are In, NotIn,
                                                    Exists and DoesNotExist.
                                              description: A label selector requirement is a selector that contains values, a
                                                key, and an operator that
                                                relates the key and values.
                                            description: matchExpressions is a list of label selector requirements. The
                                              requirements are ANDed.
                                        description: A label query over the set of namespaces that the term applies to.
                                          The term is applied to the union of
                                          the namespaces selected by this field
                                          and the ones listed in the namespaces
                                          field. null selector and null or empty
                                          namespaces list means "this pod's
                                          namespace". An empty selector ({})
                                          matches all namespaces.
                                    description: Defines a set of pods (namely those matching the labelSelector
                                      relative to the given namespace(s)) that
                                      this pod should be co-located (affinity)
                                      or not co-located (anti-affinity) with,
                                      where co-located is defined as running on
                                      a node whose value of the label with key
                                      <topologyKey> matches that of any node on
                                      which a pod of the set of pods is running
                                  description: If the anti-affinity requirements specified by this field are not
                                    met at scheduling time, the pod will not be
                                    scheduled onto the node. If the
                                    anti-affinity requirements specified by this
                                    field cease to be met at some point during
                                    pod execution (e.g. due to a pod label
                                    update), the system may or may not try to
                                    eventually evict the pod from its node. When
                                    there are multiple elements, the lists of
                                    nodes corresponding to each podAffinityTerm
                                    are intersected, i.e. all terms must be
                                    satisfied.
                                preferredDuringSchedulingIgnoredDuringExecution:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - podAffinityTerm
                                      - weight
                                    properties:
                                      weight:
                                        type: integer
                                        format: int32
                                        description: weight associated with matching the corresponding podAffinityTerm,
                                          in the range 1-100.
                                      podAffinityTerm:
                                        type: object
                                        required:
                                          - topologyKey
                                        properties:
                                          namespaces:
                                            type: array
                                            items:
                                              type: string
                                            description: namespaces specifies a static list of namespace names that the term
                                              applies to. The term is applied to
                                              the union of the namespaces listed
                                              in this field and the ones
                                              selected by namespaceSelector.
                                              null or empty namespaces list and
                                              null namespaceSelector means "this
                                              pod's namespace".
                                          topologyKey:
                                            type: string
                                            description: This pod should be co-located (affinity) or not co-located
                                              (anti-affinity) with the pods
                                              matching the labelSelector in the
                                              specified namespaces, where
                                              co-located is defined as running
                                              on a node whose value of the label
                                              with key topologyKey matches that
                                              of any node on which any of the
                                              selected pods is running. Empty
                                              topologyKey is not allowed.
                                          labelSelector:
                                            type: object
                                            properties:
                                              matchLabels:
                                                type: object
                                                description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                  the matchLabels map is
                                                  equivalent to an element of
                                                  matchExpressions, whose key
                                                  field is "key", the operator
                                                  is "In", and the values array
                                                  contains only "value". The
                                                  requirements are ANDed.
                                                additionalProperties:
                                                  type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - key
                                                    - operator
                                                  properties:
                                                    key:
                                                      type: string
                                                      description: key is the label key that the selector applies to.
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                      description: values is an array of string values. If the operator is In or
                                                        NotIn, the values array
                                                        must be non-empty. If
                                                        the operator is Exists
                                                        or DoesNotExist, the
                                                        values array must be
                                                        empty. This array is
                                                        replaced during a
                                                        strategic merge patch.
                                                    operator:
                                                      type: string
                                                      description: operator represents a key's relationship to a set of values. Valid
                                                        operators are In, NotIn,
                                                        Exists and DoesNotExist.
                                                  description: A label selector requirement is a selector that contains values, a
                                                    key, and an operator that
                                                    relates the key and values.
                                                description: matchExpressions is a list of label selector requirements. The
                                                  requirements are ANDed.
                                            description: A label query over a set of resources, in this case pods.
                                          namespaceSelector:
                                            type: object
                                            properties:
                                              matchLabels:
                                                type: object
                                                description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                  the matchLabels map is
                                                  equivalent to an element of
                                                  matchExpressions, whose key
                                                  field is "key", the operator
                                                  is "In", and the values array
                                                  contains only "value". The
                                                  requirements are ANDed.
                                                additionalProperties:
                                                  type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - key
                                                    - operator
                                                  properties:
                                                    key:
                                                      type: string
                                                      description: key is the label key that the selector applies to.
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                      description: values is an array of string values. If the operator is In or
                                                        NotIn, the values array
                                                        must be non-empty. If
                                                        the operator is Exists
                                                        or DoesNotExist, the
                                                        values array must be
                                                        empty. This array is
                                                        replaced during a
                                                        strategic merge patch.
                                                    operator:
                                                      type: string
                                                      description: operator represents a key's relationship to a set of values. Valid
                                                        operators are In, NotIn,
                                                        Exists and DoesNotExist.
                                                  description: A label selector requirement is a selector that contains values, a
                                                    key, and an operator that
                                                    relates the key and values.
                                                description: matchExpressions is a list of label selector requirements. The
                                                  requirements are ANDed.
                                            description: A label query over the set of namespaces that the term applies to.
                                              The term is applied to the union
                                              of the namespaces selected by this
                                              field and the ones listed in the
                                              namespaces field. null selector
                                              and null or empty namespaces list
                                              means "this pod's namespace". An
                                              empty selector ({}) matches all
                                              namespaces.
                                        description: Required. A pod affinity term, associated with the corresponding
                                          weight.
                                    description: The weights of all of the matched WeightedPodAffinityTerm fields
                                      are added per-node to find the most
                                      preferred node(s)
                                  description: The scheduler will prefer to schedule pods to nodes that satisfy
                                    the anti-affinity expressions specified by
                                    this field, but it may choose a node that
                                    violates one or more of the expressions. The
                                    node that is most preferred is the one with
                                    the greatest sum of weights, i.e. for each
                                    node that meets all of the scheduling
                                    requirements (resource request,
                                    requiredDuringScheduling anti-affinity
                                    expressions, etc.), compute a sum by
                                    iterating through the elements of this field
                                    and adding "weight" to the sum if the node
                                    has pods which matches the corresponding
                                    podAffinityTerm; the node(s) with the
                                    highest sum are the most preferred.
                              description: Pod anti affinity is a group of inter pod anti affinity scheduling
                                rules.
                          description: These configuration settings control [Pod
                            placement](https://docs.stackable.tech/home/24.3/concepts/operations/pod_placement).
                        tickTime:
                          type: integer
                          format: uint32
                          minimum: 0
                          nullable: true
                        initLimit:
                          type: integer
                          format: uint32
                          minimum: 0
                          nullable: true
                        resources:
                          type: object
                          default:
                            cpu:
                              max: null
                              min: null
                            memory:
                              limit: null
                              runtimeLimits: {}
                            storage:
                              data:
                                capacity: null
                          properties:
                            cpu:
                              type: object
                              default:
                                max: null
                                min: null
                              properties:
                                max:
                                  type: string
                                  nullable: true
                                  description: The maximum amount of CPU cores that can be requested by Pods.
                                    Equivalent to the `limit` for Pod resource
                                    configuration. Cores are specified either as
                                    a decimal point number or as milli units.
                                    For example:`1.5` will be 1.5 cores, also
                                    written as `1500m`.
                                min:
                                  type: string
                                  nullable: true
                                  description: The minimal amount of CPU cores that Pods need to run. Equivalent
                                    to the `request` for Pod resource
                                    configuration. Cores are specified either as
                                    a decimal point number or as milli units.
                                    For example:`1.5` will be 1.5 cores, also
                                    written as `1500m`.
                            memory:
                              type: object
                              properties:
                                limit:
                                  type: string
                                  nullable: true
                                  description: "The maximum amount of memory that should be available to the Pod.
                                    Specified as a byte
                                    [Quantity](https://kubernetes.io/docs/refer\
                                    ence/kubernetes-api/common-definitions/quan\
                                    tity/), which means these suffixes are
                                    supported: E, P, T, G, M, k. You can also
                                    use the power-of-two equivalents: Ei, Pi,
                                    Ti, Gi, Mi, Ki. For example, the following
                                    represent roughly the same value:
                                    `128974848, 129e6, 129M,  128974848000m,
                                    123Mi`"
                                runtimeLimits:
                                  type: object
                                  description: Additional options that can be specified.
                            storage:
                              type: object
                              properties:
                                data:
                                  type: object
                                  default:
                                    capacity: null
                                  properties:
                                    capacity:
                                      type: string
                                      nullable: true
                                      description: >-
                                        Quantity is a fixed-point representation
                                        of a number. It provides convenient
                                        marshaling/unmarshaling in JSON and
                                        YAML, in addition to String() and
                                        AsInt64() accessors.


                                        The serialization format is:


                                        ``` <quantity>        ::=
                                        <signedNumber><suffix>

                                        	(Note that <suffix> may be empty, from the "" case in <decimalSI>.)

                                        <digit>           ::= 0 | 1 | ... | 9
                                        <digits>          ::= <digit> |
                                        <digit><digits> <number>          ::=
                                        <digits> | <digits>.<digits> | <digits>.
                                        | .<digits> <sign>            ::= "+" |
                                        "-" <signedNumber>    ::= <number> |
                                        <sign><number> <suffix>          ::=
                                        <binarySI> | <decimalExponent> |
                                        <decimalSI> <binarySI>        ::= Ki |
                                        Mi | Gi | Ti | Pi | Ei

                                        	(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)

                                        <decimalSI>       ::= m | "" | k | M | G
                                        | T | P | E

                                        	(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)

                                        <decimalExponent> ::= "e" <signedNumber>
                                        | "E" <signedNumber> ```


                                        No matter which of the three exponent
                                        forms is used, no quantity may represent
                                        a number greater than 2^63-1 in
                                        magnitude, nor may it have more than 3
                                        decimal places. Numbers larger or more
                                        precise will be capped or rounded up.
                                        (E.g.: 0.1m will rounded up to 1m.) This
                                        may be extended in the future if we
                                        require larger or smaller quantities.


                                        When a Quantity is parsed from a string,
                                        it will remember the type of suffix it
                                        had, and will use the same type again
                                        when it is serialized.


                                        Before serializing, Quantity will be put
                                        in "canonical form". This means that
                                        Exponent/suffix will be adjusted up or
                                        down (with a corresponding increase or
                                        decrease in Mantissa) such that:


                                        - No precision is lost - No fractional
                                        digits will be emitted - The exponent
                                        (or suffix) is as large as possible.


                                        The sign will be omitted unless the
                                        number is negative.


                                        Examples:


                                        - 1.5 will be serialized as "1500m" -
                                        1.5Gi will be serialized as "1536Mi"


                                        Note that the quantity will NEVER be
                                        internally represented by a floating
                                        point number. That is the whole point of
                                        this exercise.


                                        Non-canonical values will still parse as
                                        long as they are well formed, but will
                                        be re-emitted in their canonical form.
                                        (So always use canonical form, or don't
                                        diff.)


                                        This format is intended to make it
                                        difficult to use these numbers without
                                        writing some sort of special handling
                                        code in the hopes that that will cause
                                        implementors to also use a fixed point
                                        implementation.
                                    selectors:
                                      type: object
                                      nullable: true
                                      properties:
                                        matchLabels:
                                          type: object
                                          description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                            the matchLabels map is equivalent to
                                            an element of matchExpressions,
                                            whose key field is "key", the
                                            operator is "In", and the values
                                            array contains only "value". The
                                            requirements are ANDed.
                                          additionalProperties:
                                            type: string
                                        matchExpressions:
                                          type: array
                                          items:
                                            type: object
                                            required:
                                              - key
                                              - operator
                                            properties:
                                              key:
                                                type: string
                                                description: key is the label key that the selector applies to.
                                              values:
                                                type: array
                                                items:
                                                  type: string
                                                description: values is an array of string values. If the operator is In or
                                                  NotIn, the values array must
                                                  be non-empty. If the operator
                                                  is Exists or DoesNotExist, the
                                                  values array must be empty.
                                                  This array is replaced during
                                                  a strategic merge patch.
                                              operator:
                                                type: string
                                                description: operator represents a key's relationship to a set of values. Valid
                                                  operators are In, NotIn,
                                                  Exists and DoesNotExist.
                                            description: A label selector requirement is a selector that contains values, a
                                              key, and an operator that relates
                                              the key and values.
                                          description: matchExpressions is a list of label selector requirements. The
                                            requirements are ANDed.
                                      description: A label selector is a label query over a set of resources. The
                                        result of matchLabels and
                                        matchExpressions are ANDed. An empty
                                        label selector matches all objects. A
                                        null label selector matches no objects.
                                    storageClass:
                                      type: string
                                      nullable: true
                          description: Resource usage is configured here, this includes CPU usage, memory
                            usage and disk storage usage, if this role needs
                            any.
                        syncLimit:
                          type: integer
                          format: uint32
                          minimum: 0
                          nullable: true
                        myidOffset:
                          type: integer
                          format: uint16
                          minimum: 0
                          nullable: true
                        gracefulShutdownTimeout:
                          type: string
                          nullable: true
                          description: Time period Pods have to gracefully shut down, e.g. `30m`, `1h` or
                            `2d`. Consult the operator documentation for
                            details.
                    roleConfig:
                      type: object
                      default:
                        podDisruptionBudget:
                          enabled: true
                          maxUnavailable: null
                      properties:
                        podDisruptionBudget:
                          type: object
                          default:
                            enabled: true
                            maxUnavailable: null
                          properties:
                            enabled:
                              type: boolean
                              default: true
                              description: Whether a PodDisruptionBudget should be written out for this role.
                                Disabling this enables you to specify your own -
                                custom - one. Defaults to true.
                            maxUnavailable:
                              type: integer
                              format: uint16
                              minimum: 0
                              nullable: true
                              description: The number of Pods that are allowed to be down because of voluntary
                                disruptions. If you don't explicitly set this,
                                the operator will use a sane default based upon
                                knowledge about the individual product.
                          description: |-
                            This struct is used to configure:

                            1. If PodDisruptionBudgets are created by the operator 2. The allowed number of Pods to be unavailable (`maxUnavailable`)

                            Learn more in the [allowed Pod disruptions documentation](https://docs.stackable.tech/home/24.3/concepts/operations/pod_disruptions).
                      description: This is a product-agnostic RoleConfig, which is sufficient for most
                        of the products.
                    roleGroups:
                      type: object
                      additionalProperties:
                        type: object
                        properties:
                          config:
                            type: object
                            default: {}
                            properties:
                              logging:
                                type: object
                                default:
                                  containers: {}
                                  enableVectorAgent: null
                                properties:
                                  containers:
                                    type: object
                                    description: Log configuration per container.
                                    additionalProperties:
                                      type: object
                                      anyOf:
                                        - required:
                                            - custom
                                        - {}
                                      properties:
                                        file:
                                          type: object
                                          nullable: true
                                          properties:
                                            level:
                                              enum:
                                                - TRACE
                                                - DEBUG
                                                - INFO
                                                - WARN
                                                - ERROR
                                                - FATAL
                                                - NONE
                                              type: string
                                              nullable: true
                                              description: The log level threshold. Log events with a lower log level are
                                                discarded.
                                          description: Configuration for the file appender
                                        custom:
                                          type: object
                                          properties:
                                            configMap:
                                              type: string
                                              nullable: true
                                              description: ConfigMap containing the log configuration files
                                          description: Custom log configuration provided in a ConfigMap
                                        console:
                                          type: object
                                          nullable: true
                                          properties:
                                            level:
                                              enum:
                                                - TRACE
                                                - DEBUG
                                                - INFO
                                                - WARN
                                                - ERROR
                                                - FATAL
                                                - NONE
                                              type: string
                                              nullable: true
                                              description: The log level threshold. Log events with a lower log level are
                                                discarded.
                                          description: Configuration for the console appender
                                        loggers:
                                          type: object
                                          default: {}
                                          description: Configuration per logger
                                          additionalProperties:
                                            type: object
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                type: string
                                                nullable: true
                                                description: The log level threshold. Log events with a lower log level are
                                                  discarded.
                                            description: Configuration of a logger
                                      description: Log configuration of the container
                                  enableVectorAgent:
                                    type: boolean
                                    nullable: true
                                    description: Wether or not to deploy a container with the Vector log agent.
                                description: Logging configuration, learn more in the [logging concept
                                  documentation](https://docs.stackable.tech/home/24.3/concepts/logging).
                              affinity:
                                type: object
                                default:
                                  podAffinity: null
                                  nodeAffinity: null
                                  nodeSelector: null
                                  podAntiAffinity: null
                                properties:
                                  podAffinity:
                                    type: object
                                    nullable: true
                                    properties:
                                      requiredDuringSchedulingIgnoredDuringExecution:
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - topologyKey
                                          properties:
                                            namespaces:
                                              type: array
                                              items:
                                                type: string
                                              description: namespaces specifies a static list of namespace names that the term
                                                applies to. The term is applied
                                                to the union of the namespaces
                                                listed in this field and the
                                                ones selected by
                                                namespaceSelector. null or empty
                                                namespaces list and null
                                                namespaceSelector means "this
                                                pod's namespace".
                                            topologyKey:
                                              type: string
                                              description: This pod should be co-located (affinity) or not co-located
                                                (anti-affinity) with the pods
                                                matching the labelSelector in
                                                the specified namespaces, where
                                                co-located is defined as running
                                                on a node whose value of the
                                                label with key topologyKey
                                                matches that of any node on
                                                which any of the selected pods
                                                is running. Empty topologyKey is
                                                not allowed.
                                            labelSelector:
                                              type: object
                                              properties:
                                                matchLabels:
                                                  type: object
                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                    the matchLabels map is
                                                    equivalent to an element of
                                                    matchExpressions, whose key
                                                    field is "key", the operator
                                                    is "In", and the values
                                                    array contains only "value".
                                                    The requirements are ANDed.
                                                  additionalProperties:
                                                    type: string
                                                matchExpressions:
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - key
                                                      - operator
                                                    properties:
                                                      key:
                                                        type: string
                                                        description: key is the label key that the selector applies to.
                                                      values:
                                                        type: array
                                                        items:
                                                          type: string
                                                        description: values is an array of string values. If the operator is In or
                                                          NotIn, the values
                                                          array must be
                                                          non-empty. If the
                                                          operator is Exists or
                                                          DoesNotExist, the
                                                          values array must be
                                                          empty. This array is
                                                          replaced during a
                                                          strategic merge patch.
                                                      operator:
                                                        type: string
                                                        description: operator represents a key's relationship to a set of values. Valid
                                                          operators are In,
                                                          NotIn, Exists and
                                                          DoesNotExist.
                                                    description: A label selector requirement is a selector that contains values, a
                                                      key, and an operator that
                                                      relates the key and
                                                      values.
                                                  description: matchExpressions is a list of label selector requirements. The
                                                    requirements are ANDed.
                                              description: A label query over a set of resources, in this case pods.
                                            namespaceSelector:
                                              type: object
                                              properties:
                                                matchLabels:
                                                  type: object
                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                    the matchLabels map is
                                                    equivalent to an element of
                                                    matchExpressions, whose key
                                                    field is "key", the operator
                                                    is "In", and the values
                                                    array contains only "value".
                                                    The requirements are ANDed.
                                                  additionalProperties:
                                                    type: string
                                                matchExpressions:
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - key
                                                      - operator
                                                    properties:
                                                      key:
                                                        type: string
                                                        description: key is the label key that the selector applies to.
                                                      values:
                                                        type: array
                                                        items:
                                                          type: string
                                                        description: values is an array of string values. If the operator is In or
                                                          NotIn, the values
                                                          array must be
                                                          non-empty. If the
                                                          operator is Exists or
                                                          DoesNotExist, the
                                                          values array must be
                                                          empty. This array is
                                                          replaced during a
                                                          strategic merge patch.
                                                      operator:
                                                        type: string
                                                        description: operator represents a key's relationship to a set of values. Valid
                                                          operators are In,
                                                          NotIn, Exists and
                                                          DoesNotExist.
                                                    description: A label selector requirement is a selector that contains values, a
                                                      key, and an operator that
                                                      relates the key and
                                                      values.
                                                  description: matchExpressions is a list of label selector requirements. The
                                                    requirements are ANDed.
                                              description: A label query over the set of namespaces that the term applies to.
                                                The term is applied to the union
                                                of the namespaces selected by
                                                this field and the ones listed
                                                in the namespaces field. null
                                                selector and null or empty
                                                namespaces list means "this
                                                pod's namespace". An empty
                                                selector ({}) matches all
                                                namespaces.
                                          description: Defines a set of pods (namely those matching the labelSelector
                                            relative to the given namespace(s))
                                            that this pod should be co-located
                                            (affinity) or not co-located
                                            (anti-affinity) with, where
                                            co-located is defined as running on
                                            a node whose value of the label with
                                            key <topologyKey> matches that of
                                            any node on which a pod of the set
                                            of pods is running
                                        description: If the affinity requirements specified by this field are not met at
                                          scheduling time, the pod will not be
                                          scheduled onto the node. If the
                                          affinity requirements specified by
                                          this field cease to be met at some
                                          point during pod execution (e.g. due
                                          to a pod label update), the system may
                                          or may not try to eventually evict the
                                          pod from its node. When there are
                                          multiple elements, the lists of nodes
                                          corresponding to each podAffinityTerm
                                          are intersected, i.e. all terms must
                                          be satisfied.
                                      preferredDuringSchedulingIgnoredDuringExecution:
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - podAffinityTerm
                                            - weight
                                          properties:
                                            weight:
                                              type: integer
                                              format: int32
                                              description: weight associated with matching the corresponding podAffinityTerm,
                                                in the range 1-100.
                                            podAffinityTerm:
                                              type: object
                                              required:
                                                - topologyKey
                                              properties:
                                                namespaces:
                                                  type: array
                                                  items:
                                                    type: string
                                                  description: namespaces specifies a static list of namespace names that the term
                                                    applies to. The term is
                                                    applied to the union of the
                                                    namespaces listed in this
                                                    field and the ones selected
                                                    by namespaceSelector. null
                                                    or empty namespaces list and
                                                    null namespaceSelector means
                                                    "this pod's namespace".
                                                topologyKey:
                                                  type: string
                                                  description: This pod should be co-located (affinity) or not co-located
                                                    (anti-affinity) with the
                                                    pods matching the
                                                    labelSelector in the
                                                    specified namespaces, where
                                                    co-located is defined as
                                                    running on a node whose
                                                    value of the label with key
                                                    topologyKey matches that of
                                                    any node on which any of the
                                                    selected pods is running.
                                                    Empty topologyKey is not
                                                    allowed.
                                                labelSelector:
                                                  type: object
                                                  properties:
                                                    matchLabels:
                                                      type: object
                                                      description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                        the matchLabels map is
                                                        equivalent to an element
                                                        of matchExpressions,
                                                        whose key field is
                                                        "key", the operator is
                                                        "In", and the values
                                                        array contains only
                                                        "value". The
                                                        requirements are ANDed.
                                                      additionalProperties:
                                                        type: string
                                                    matchExpressions:
                                                      type: array
                                                      items:
                                                        type: object
                                                        required:
                                                          - key
                                                          - operator
                                                        properties:
                                                          key:
                                                            type: string
                                                            description: key is the label key that the selector applies to.
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                            description: values is an array of string values. If the operator is In or
                                                              NotIn, the values
                                                              array must be
                                                              non-empty. If the
                                                              operator is Exists
                                                              or DoesNotExist, the
                                                              values array must be
                                                              empty. This array is
                                                              replaced during a
                                                              strategic merge
                                                              patch.
                                                          operator:
                                                            type: string
                                                            description: operator represents a key's relationship to a set of values. Valid
                                                              operators are In,
                                                              NotIn, Exists and
                                                              DoesNotExist.
                                                        description: A label selector requirement is a selector that contains values, a
                                                          key, and an operator
                                                          that relates the key
                                                          and values.
                                                      description: matchExpressions is a list of label selector requirements. The
                                                        requirements are ANDed.
                                                  description: A label query over a set of resources, in this case pods.
                                                namespaceSelector:
                                                  type: object
                                                  properties:
                                                    matchLabels:
                                                      type: object
                                                      description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                        the matchLabels map is
                                                        equivalent to an element
                                                        of matchExpressions,
                                                        whose key field is
                                                        "key", the operator is
                                                        "In", and the values
                                                        array contains only
                                                        "value". The
                                                        requirements are ANDed.
                                                      additionalProperties:
                                                        type: string
                                                    matchExpressions:
                                                      type: array
                                                      items:
                                                        type: object
                                                        required:
                                                          - key
                                                          - operator
                                                        properties:
                                                          key:
                                                            type: string
                                                            description: key is the label key that the selector applies to.
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                            description: values is an array of string values. If the operator is In or
                                                              NotIn, the values
                                                              array must be
                                                              non-empty. If the
                                                              operator is Exists
                                                              or DoesNotExist, the
                                                              values array must be
                                                              empty. This array is
                                                              replaced during a
                                                              strategic merge
                                                              patch.
                                                          operator:
                                                            type: string
                                                            description: operator represents a key's relationship to a set of values. Valid
                                                              operators are In,
                                                              NotIn, Exists and
                                                              DoesNotExist.
                                                        description: A label selector requirement is a selector that contains values, a
                                                          key, and an operator
                                                          that relates the key
                                                          and values.
                                                      description: matchExpressions is a list of label selector requirements. The
                                                        requirements are ANDed.
                                                  description: A label query over the set of namespaces that the term applies to.
                                                    The term is applied to the
                                                    union of the namespaces
                                                    selected by this field and
                                                    the ones listed in the
                                                    namespaces field. null
                                                    selector and null or empty
                                                    namespaces list means "this
                                                    pod's namespace". An empty
                                                    selector ({}) matches all
                                                    namespaces.
                                              description: Required. A pod affinity term, associated with the corresponding
                                                weight.
                                          description: The weights of all of the matched WeightedPodAffinityTerm fields
                                            are added per-node to find the most
                                            preferred node(s)
                                        description: The scheduler will prefer to schedule pods to nodes that satisfy
                                          the affinity expressions specified by
                                          this field, but it may choose a node
                                          that violates one or more of the
                                          expressions. The node that is most
                                          preferred is the one with the greatest
                                          sum of weights, i.e. for each node
                                          that meets all of the scheduling
                                          requirements (resource request,
                                          requiredDuringScheduling affinity
                                          expressions, etc.), compute a sum by
                                          iterating through the elements of this
                                          field and adding "weight" to the sum
                                          if the node has pods which matches the
                                          corresponding podAffinityTerm; the
                                          node(s) with the highest sum are the
                                          most preferred.
                                    description: Pod affinity is a group of inter pod affinity scheduling rules.
                                  nodeAffinity:
                                    type: object
                                    nullable: true
                                    properties:
                                      requiredDuringSchedulingIgnoredDuringExecution:
                                        type: object
                                        required:
                                          - nodeSelectorTerms
                                        properties:
                                          nodeSelectorTerms:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                matchFields:
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - key
                                                      - operator
                                                    properties:
                                                      key:
                                                        type: string
                                                        description: The label key that the selector applies to.
                                                      values:
                                                        type: array
                                                        items:
                                                          type: string
                                                        description: An array of string values. If the operator is In or NotIn, the
                                                          values array must be
                                                          non-empty. If the
                                                          operator is Exists or
                                                          DoesNotExist, the
                                                          values array must be
                                                          empty. If the operator
                                                          is Gt or Lt, the
                                                          values array must have
                                                          a single element,
                                                          which will be
                                                          interpreted as an
                                                          integer. This array is
                                                          replaced during a
                                                          strategic merge patch.
                                                      operator:
                                                        type: string
                                                        description: Represents a key's relationship to a set of values. Valid operators
                                                          are In, NotIn, Exists,
                                                          DoesNotExist. Gt, and
                                                          Lt.
                                                    description: A node selector requirement is a selector that contains values, a
                                                      key, and an operator that
                                                      relates the key and
                                                      values.
                                                  description: A list of node selector requirements by node's fields.
                                                matchExpressions:
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - key
                                                      - operator
                                                    properties:
                                                      key:
                                                        type: string
                                                        description: The label key that the selector applies to.
                                                      values:
                                                        type: array
                                                        items:
                                                          type: string
                                                        description: An array of string values. If the operator is In or NotIn, the
                                                          values array must be
                                                          non-empty. If the
                                                          operator is Exists or
                                                          DoesNotExist, the
                                                          values array must be
                                                          empty. If the operator
                                                          is Gt or Lt, the
                                                          values array must have
                                                          a single element,
                                                          which will be
                                                          interpreted as an
                                                          integer. This array is
                                                          replaced during a
                                                          strategic merge patch.
                                                      operator:
                                                        type: string
                                                        description: Represents a key's relationship to a set of values. Valid operators
                                                          are In, NotIn, Exists,
                                                          DoesNotExist. Gt, and
                                                          Lt.
                                                    description: A node selector requirement is a selector that contains values, a
                                                      key, and an operator that
                                                      relates the key and
                                                      values.
                                                  description: A list of node selector requirements by node's labels.
                                              description: A null or empty node selector term matches no objects. The
                                                requirements of them are ANDed.
                                                The TopologySelectorTerm type
                                                implements a subset of the
                                                NodeSelectorTerm.
                                            description: Required. A list of node selector terms. The terms are ORed.
                                        description: If the affinity requirements specified by this field are not met at
                                          scheduling time, the pod will not be
                                          scheduled onto the node. If the
                                          affinity requirements specified by
                                          this field cease to be met at some
                                          point during pod execution (e.g. due
                                          to an update), the system may or may
                                          not try to eventually evict the pod
                                          from its node.
                                      preferredDuringSchedulingIgnoredDuringExecution:
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - preference
                                            - weight
                                          properties:
                                            weight:
                                              type: integer
                                              format: int32
                                              description: Weight associated with matching the corresponding nodeSelectorTerm,
                                                in the range 1-100.
                                            preference:
                                              type: object
                                              properties:
                                                matchFields:
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - key
                                                      - operator
                                                    properties:
                                                      key:
                                                        type: string
                                                        description: The label key that the selector applies to.
                                                      values:
                                                        type: array
                                                        items:
                                                          type: string
                                                        description: An array of string values. If the operator is In or NotIn, the
                                                          values array must be
                                                          non-empty. If the
                                                          operator is Exists or
                                                          DoesNotExist, the
                                                          values array must be
                                                          empty. If the operator
                                                          is Gt or Lt, the
                                                          values array must have
                                                          a single element,
                                                          which will be
                                                          interpreted as an
                                                          integer. This array is
                                                          replaced during a
                                                          strategic merge patch.
                                                      operator:
                                                        type: string
                                                        description: Represents a key's relationship to a set of values. Valid operators
                                                          are In, NotIn, Exists,
                                                          DoesNotExist. Gt, and
                                                          Lt.
                                                    description: A node selector requirement is a selector that contains values, a
                                                      key, and an operator that
                                                      relates the key and
                                                      values.
                                                  description: A list of node selector requirements by node's fields.
                                                matchExpressions:
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - key
                                                      - operator
                                                    properties:
                                                      key:
                                                        type: string
                                                        description: The label key that the selector applies to.
                                                      values:
                                                        type: array
                                                        items:
                                                          type: string
                                                        description: An array of string values. If the operator is In or NotIn, the
                                                          values array must be
                                                          non-empty. If the
                                                          operator is Exists or
                                                          DoesNotExist, the
                                                          values array must be
                                                          empty. If the operator
                                                          is Gt or Lt, the
                                                          values array must have
                                                          a single element,
                                                          which will be
                                                          interpreted as an
                                                          integer. This array is
                                                          replaced during a
                                                          strategic merge patch.
                                                      operator:
                                                        type: string
                                                        description: Represents a key's relationship to a set of values. Valid operators
                                                          are In, NotIn, Exists,
                                                          DoesNotExist. Gt, and
                                                          Lt.
                                                    description: A node selector requirement is a selector that contains values, a
                                                      key, and an operator that
                                                      relates the key and
                                                      values.
                                                  description: A list of node selector requirements by node's labels.
                                              description: A node selector term, associated with the corresponding weight.
                                          description: An empty preferred scheduling term matches all objects with
                                            implicit weight 0 (i.e. it's a
                                            no-op). A null preferred scheduling
                                            term matches no objects (i.e. is
                                            also a no-op).
                                        description: The scheduler will prefer to schedule pods to nodes that satisfy
                                          the affinity expressions specified by
                                          this field, but it may choose a node
                                          that violates one or more of the
                                          expressions. The node that is most
                                          preferred is the one with the greatest
                                          sum of weights, i.e. for each node
                                          that meets all of the scheduling
                                          requirements (resource request,
                                          requiredDuringScheduling affinity
                                          expressions, etc.), compute a sum by
                                          iterating through the elements of this
                                          field and adding "weight" to the sum
                                          if the node matches the corresponding
                                          matchExpressions; the node(s) with the
                                          highest sum are the most preferred.
                                    description: Node affinity is a group of node affinity scheduling rules.
                                  nodeSelector:
                                    type: object
                                    nullable: true
                                  podAntiAffinity:
                                    type: object
                                    nullable: true
                                    properties:
                                      requiredDuringSchedulingIgnoredDuringExecution:
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - topologyKey
                                          properties:
                                            namespaces:
                                              type: array
                                              items:
                                                type: string
                                              description: namespaces specifies a static list of namespace names that the term
                                                applies to. The term is applied
                                                to the union of the namespaces
                                                listed in this field and the
                                                ones selected by
                                                namespaceSelector. null or empty
                                                namespaces list and null
                                                namespaceSelector means "this
                                                pod's namespace".
                                            topologyKey:
                                              type: string
                                              description: This pod should be co-located (affinity) or not co-located
                                                (anti-affinity) with the pods
                                                matching the labelSelector in
                                                the specified namespaces, where
                                                co-located is defined as running
                                                on a node whose value of the
                                                label with key topologyKey
                                                matches that of any node on
                                                which any of the selected pods
                                                is running. Empty topologyKey is
                                                not allowed.
                                            labelSelector:
                                              type: object
                                              properties:
                                                matchLabels:
                                                  type: object
                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                    the matchLabels map is
                                                    equivalent to an element of
                                                    matchExpressions, whose key
                                                    field is "key", the operator
                                                    is "In", and the values
                                                    array contains only "value".
                                                    The requirements are ANDed.
                                                  additionalProperties:
                                                    type: string
                                                matchExpressions:
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - key
                                                      - operator
                                                    properties:
                                                      key:
                                                        type: string
                                                        description: key is the label key that the selector applies to.
                                                      values:
                                                        type: array
                                                        items:
                                                          type: string
                                                        description: values is an array of string values. If the operator is In or
                                                          NotIn, the values
                                                          array must be
                                                          non-empty. If the
                                                          operator is Exists or
                                                          DoesNotExist, the
                                                          values array must be
                                                          empty. This array is
                                                          replaced during a
                                                          strategic merge patch.
                                                      operator:
                                                        type: string
                                                        description: operator represents a key's relationship to a set of values. Valid
                                                          operators are In,
                                                          NotIn, Exists and
                                                          DoesNotExist.
                                                    description: A label selector requirement is a selector that contains values, a
                                                      key, and an operator that
                                                      relates the key and
                                                      values.
                                                  description: matchExpressions is a list of label selector requirements. The
                                                    requirements are ANDed.
                                              description: A label query over a set of resources, in this case pods.
                                            namespaceSelector:
                                              type: object
                                              properties:
                                                matchLabels:
                                                  type: object
                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                    the matchLabels map is
                                                    equivalent to an element of
                                                    matchExpressions, whose key
                                                    field is "key", the operator
                                                    is "In", and the values
                                                    array contains only "value".
                                                    The requirements are ANDed.
                                                  additionalProperties:
                                                    type: string
                                                matchExpressions:
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - key
                                                      - operator
                                                    properties:
                                                      key:
                                                        type: string
                                                        description: key is the label key that the selector applies to.
                                                      values:
                                                        type: array
                                                        items:
                                                          type: string
                                                        description: values is an array of string values. If the operator is In or
                                                          NotIn, the values
                                                          array must be
                                                          non-empty. If the
                                                          operator is Exists or
                                                          DoesNotExist, the
                                                          values array must be
                                                          empty. This array is
                                                          replaced during a
                                                          strategic merge patch.
                                                      operator:
                                                        type: string
                                                        description: operator represents a key's relationship to a set of values. Valid
                                                          operators are In,
                                                          NotIn, Exists and
                                                          DoesNotExist.
                                                    description: A label selector requirement is a selector that contains values, a
                                                      key, and an operator that
                                                      relates the key and
                                                      values.
                                                  description: matchExpressions is a list of label selector requirements. The
                                                    requirements are ANDed.
                                              description: A label query over the set of namespaces that the term applies to.
                                                The term is applied to the union
                                                of the namespaces selected by
                                                this field and the ones listed
                                                in the namespaces field. null
                                                selector and null or empty
                                                namespaces list means "this
                                                pod's namespace". An empty
                                                selector ({}) matches all
                                                namespaces.
                                          description: Defines a set of pods (namely those matching the labelSelector
                                            relative to the given namespace(s))
                                            that this pod should be co-located
                                            (affinity) or not co-located
                                            (anti-affinity) with, where
                                            co-located is defined as running on
                                            a node whose value of the label with
                                            key <topologyKey> matches that of
                                            any node on which a pod of the set
                                            of pods is running
                                        description: If the anti-affinity requirements specified by this field are not
                                          met at scheduling time, the pod will
                                          not be scheduled onto the node. If the
                                          anti-affinity requirements specified
                                          by this field cease to be met at some
                                          point during pod execution (e.g. due
                                          to a pod label update), the system may
                                          or may not try to eventually evict the
                                          pod from its node. When there are
                                          multiple elements, the lists of nodes
                                          corresponding to each podAffinityTerm
                                          are intersected, i.e. all terms must
                                          be satisfied.
                                      preferredDuringSchedulingIgnoredDuringExecution:
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - podAffinityTerm
                                            - weight
                                          properties:
                                            weight:
                                              type: integer
                                              format: int32
                                              description: weight associated with matching the corresponding podAffinityTerm,
                                                in the range 1-100.
                                            podAffinityTerm:
                                              type: object
                                              required:
                                                - topologyKey
                                              properties:
                                                namespaces:
                                                  type: array
                                                  items:
                                                    type: string
                                                  description: namespaces specifies a static list of namespace names that the term
                                                    applies to. The term is
                                                    applied to the union of the
                                                    namespaces listed in this
                                                    field and the ones selected
                                                    by namespaceSelector. null
                                                    or empty namespaces list and
                                                    null namespaceSelector means
                                                    "this pod's namespace".
                                                topologyKey:
                                                  type: string
                                                  description: This pod should be co-located (affinity) or not co-located
                                                    (anti-affinity) with the
                                                    pods matching the
                                                    labelSelector in the
                                                    specified namespaces, where
                                                    co-located is defined as
                                                    running on a node whose
                                                    value of the label with key
                                                    topologyKey matches that of
                                                    any node on which any of the
                                                    selected pods is running.
                                                    Empty topologyKey is not
                                                    allowed.
                                                labelSelector:
                                                  type: object
                                                  properties:
                                                    matchLabels:
                                                      type: object
                                                      description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                        the matchLabels map is
                                                        equivalent to an element
                                                        of matchExpressions,
                                                        whose key field is
                                                        "key", the operator is
                                                        "In", and the values
                                                        array contains only
                                                        "value". The
                                                        requirements are ANDed.
                                                      additionalProperties:
                                                        type: string
                                                    matchExpressions:
                                                      type: array
                                                      items:
                                                        type: object
                                                        required:
                                                          - key
                                                          - operator
                                                        properties:
                                                          key:
                                                            type: string
                                                            description: key is the label key that the selector applies to.
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                            description: values is an array of string values. If the operator is In or
                                                              NotIn, the values
                                                              array must be
                                                              non-empty. If the
                                                              operator is Exists
                                                              or DoesNotExist, the
                                                              values array must be
                                                              empty. This array is
                                                              replaced during a
                                                              strategic merge
                                                              patch.
                                                          operator:
                                                            type: string
                                                            description: operator represents a key's relationship to a set of values. Valid
                                                              operators are In,
                                                              NotIn, Exists and
                                                              DoesNotExist.
                                                        description: A label selector requirement is a selector that contains values, a
                                                          key, and an operator
                                                          that relates the key
                                                          and values.
                                                      description: matchExpressions is a list of label selector requirements. The
                                                        requirements are ANDed.
                                                  description: A label query over a set of resources, in this case pods.
                                                namespaceSelector:
                                                  type: object
                                                  properties:
                                                    matchLabels:
                                                      type: object
                                                      description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                        the matchLabels map is
                                                        equivalent to an element
                                                        of matchExpressions,
                                                        whose key field is
                                                        "key", the operator is
                                                        "In", and the values
                                                        array contains only
                                                        "value". The
                                                        requirements are ANDed.
                                                      additionalProperties:
                                                        type: string
                                                    matchExpressions:
                                                      type: array
                                                      items:
                                                        type: object
                                                        required:
                                                          - key
                                                          - operator
                                                        properties:
                                                          key:
                                                            type: string
                                                            description: key is the label key that the selector applies to.
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                            description: values is an array of string values. If the operator is In or
                                                              NotIn, the values
                                                              array must be
                                                              non-empty. If the
                                                              operator is Exists
                                                              or DoesNotExist, the
                                                              values array must be
                                                              empty. This array is
                                                              replaced during a
                                                              strategic merge
                                                              patch.
                                                          operator:
                                                            type: string
                                                            description: operator represents a key's relationship to a set of values. Valid
                                                              operators are In,
                                                              NotIn, Exists and
                                                              DoesNotExist.
                                                        description: A label selector requirement is a selector that contains values, a
                                                          key, and an operator
                                                          that relates the key
                                                          and values.
                                                      description: matchExpressions is a list of label selector requirements. The
                                                        requirements are ANDed.
                                                  description: A label query over the set of namespaces that the term applies to.
                                                    The term is applied to the
                                                    union of the namespaces
                                                    selected by this field and
                                                    the ones listed in the
                                                    namespaces field. null
                                                    selector and null or empty
                                                    namespaces list means "this
                                                    pod's namespace". An empty
                                                    selector ({}) matches all
                                                    namespaces.
                                              description: Required. A pod affinity term, associated with the corresponding
                                                weight.
                                          description: The weights of all of the matched WeightedPodAffinityTerm fields
                                            are added per-node to find the most
                                            preferred node(s)
                                        description: The scheduler will prefer to schedule pods to nodes that satisfy
                                          the anti-affinity expressions
                                          specified by this field, but it may
                                          choose a node that violates one or
                                          more of the expressions. The node that
                                          is most preferred is the one with the
                                          greatest sum of weights, i.e. for each
                                          node that meets all of the scheduling
                                          requirements (resource request,
                                          requiredDuringScheduling anti-affinity
                                          expressions, etc.), compute a sum by
                                          iterating through the elements of this
                                          field and adding "weight" to the sum
                                          if the node has pods which matches the
                                          corresponding podAffinityTerm; the
                                          node(s) with the highest sum are the
                                          most preferred.
                                    description: Pod anti affinity is a group of inter pod anti affinity scheduling
                                      rules.
                                description: These configuration settings control [Pod
                                  placement](https://docs.stackable.tech/home/24.3/concepts/operations/pod_placement).
                              tickTime:
                                type: integer
                                format: uint32
                                minimum: 0
                                nullable: true
                              initLimit:
                                type: integer
                                format: uint32
                                minimum: 0
                                nullable: true
                              resources:
                                type: object
                                default:
                                  cpu:
                                    max: null
                                    min: null
                                  memory:
                                    limit: null
                                    runtimeLimits: {}
                                  storage:
                                    data:
                                      capacity: null
                                properties:
                                  cpu:
                                    type: object
                                    default:
                                      max: null
                                      min: null
                                    properties:
                                      max:
                                        type: string
                                        nullable: true
                                        description: The maximum amount of CPU cores that can be requested by Pods.
                                          Equivalent to the `limit` for Pod
                                          resource configuration. Cores are
                                          specified either as a decimal point
                                          number or as milli units. For
                                          example:`1.5` will be 1.5 cores, also
                                          written as `1500m`.
                                      min:
                                        type: string
                                        nullable: true
                                        description: The minimal amount of CPU cores that Pods need to run. Equivalent
                                          to the `request` for Pod resource
                                          configuration. Cores are specified
                                          either as a decimal point number or as
                                          milli units. For example:`1.5` will be
                                          1.5 cores, also written as `1500m`.
                                  memory:
                                    type: object
                                    properties:
                                      limit:
                                        type: string
                                        nullable: true
                                        description: "The maximum amount of memory that should be available to the Pod.
                                          Specified as a byte
                                          [Quantity](https://kubernetes.io/docs\
                                          /reference/kubernetes-api/common-defi\
                                          nitions/quantity/), which means these
                                          suffixes are supported: E, P, T, G, M,
                                          k. You can also use the power-of-two
                                          equivalents: Ei, Pi, Ti, Gi, Mi, Ki.
                                          For example, the following represent
                                          roughly the same value: `128974848,
                                          129e6, 129M,  128974848000m, 123Mi`"
                                      runtimeLimits:
                                        type: object
                                        description: Additional options that can be specified.
                                  storage:
                                    type: object
                                    properties:
                                      data:
                                        type: object
                                        default:
                                          capacity: null
                                        properties:
                                          capacity:
                                            type: string
                                            nullable: true
                                            description: >-
                                              Quantity is a fixed-point
                                              representation of a number. It
                                              provides convenient
                                              marshaling/unmarshaling in JSON
                                              and YAML, in addition to String()
                                              and AsInt64() accessors.


                                              The serialization format is:


                                              ``` <quantity>        ::=
                                              <signedNumber><suffix>

                                              	(Note that <suffix> may be empty, from the "" case in <decimalSI>.)

                                              <digit>           ::= 0 | 1 | ...
                                              | 9 <digits>          ::= <digit>
                                              | <digit><digits>
                                              <number>          ::= <digits> |
                                              <digits>.<digits> | <digits>. |
                                              .<digits> <sign>            ::=
                                              "+" | "-" <signedNumber>    ::=
                                              <number> | <sign><number>
                                              <suffix>          ::= <binarySI> |
                                              <decimalExponent> | <decimalSI>
                                              <binarySI>        ::= Ki | Mi | Gi
                                              | Ti | Pi | Ei

                                              	(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)

                                              <decimalSI>       ::= m | "" | k |
                                              M | G | T | P | E

                                              	(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)

                                              <decimalExponent> ::= "e"
                                              <signedNumber> | "E"
                                              <signedNumber> ```


                                              No matter which of the three
                                              exponent forms is used, no
                                              quantity may represent a number
                                              greater than 2^63-1 in magnitude,
                                              nor may it have more than 3
                                              decimal places. Numbers larger or
                                              more precise will be capped or
                                              rounded up. (E.g.: 0.1m will
                                              rounded up to 1m.) This may be
                                              extended in the future if we
                                              require larger or smaller
                                              quantities.


                                              When a Quantity is parsed from a
                                              string, it will remember the type
                                              of suffix it had, and will use the
                                              same type again when it is
                                              serialized.


                                              Before serializing, Quantity will
                                              be put in "canonical form". This
                                              means that Exponent/suffix will be
                                              adjusted up or down (with a
                                              corresponding increase or decrease
                                              in Mantissa) such that:


                                              - No precision is lost - No
                                              fractional digits will be emitted
                                              - The exponent (or suffix) is as
                                              large as possible.


                                              The sign will be omitted unless
                                              the number is negative.


                                              Examples:


                                              - 1.5 will be serialized as
                                              "1500m" - 1.5Gi will be serialized
                                              as "1536Mi"


                                              Note that the quantity will NEVER
                                              be internally represented by a
                                              floating point number. That is the
                                              whole point of this exercise.


                                              Non-canonical values will still
                                              parse as long as they are well
                                              formed, but will be re-emitted in
                                              their canonical form. (So always
                                              use canonical form, or don't
                                              diff.)


                                              This format is intended to make it
                                              difficult to use these numbers
                                              without writing some sort of
                                              special handling code in the hopes
                                              that that will cause implementors
                                              to also use a fixed point
                                              implementation.
                                          selectors:
                                            type: object
                                            nullable: true
                                            properties:
                                              matchLabels:
                                                type: object
                                                description: matchLabels is a map of {key,value} pairs. A single {key,value} in
                                                  the matchLabels map is
                                                  equivalent to an element of
                                                  matchExpressions, whose key
                                                  field is "key", the operator
                                                  is "In", and the values array
                                                  contains only "value". The
                                                  requirements are ANDed.
                                                additionalProperties:
                                                  type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - key
                                                    - operator
                                                  properties:
                                                    key:
                                                      type: string
                                                      description: key is the label key that the selector applies to.
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                      description: values is an array of string values. If the operator is In or
                                                        NotIn, the values array
                                                        must be non-empty. If
                                                        the operator is Exists
                                                        or DoesNotExist, the
                                                        values array must be
                                                        empty. This array is
                                                        replaced during a
                                                        strategic merge patch.
                                                    operator:
                                                      type: string
                                                      description: operator represents a key's relationship to a set of values. Valid
                                                        operators are In, NotIn,
                                                        Exists and DoesNotExist.
                                                  description: A label selector requirement is a selector that contains values, a
                                                    key, and an operator that
                                                    relates the key and values.
                                                description: matchExpressions is a list of label selector requirements. The
                                                  requirements are ANDed.
                                            description: A label selector is a label query over a set of resources. The
                                              result of matchLabels and
                                              matchExpressions are ANDed. An
                                              empty label selector matches all
                                              objects. A null label selector
                                              matches no objects.
                                          storageClass:
                                            type: string
                                            nullable: true
                                description: Resource usage is configured here, this includes CPU usage, memory
                                  usage and disk storage usage, if this role
                                  needs any.
                              syncLimit:
                                type: integer
                                format: uint32
                                minimum: 0
                                nullable: true
                              myidOffset:
                                type: integer
                                format: uint16
                                minimum: 0
                                nullable: true
                              gracefulShutdownTimeout:
                                type: string
                                nullable: true
                                description: Time period Pods have to gracefully shut down, e.g. `30m`, `1h` or
                                  `2d`. Consult the operator documentation for
                                  details.
                          replicas:
                            type: integer
                            format: uint16
                            minimum: 0
                            nullable: true
                          cliOverrides:
                            type: object
                            default: {}
                            additionalProperties:
                              type: string
                          envOverrides:
                            type: object
                            default: {}
                            description: "`envOverrides` configure environment variables to be set in the
                              Pods. It is a map from strings to strings -
                              environment variables and the value to set. Read
                              the [environment variable overrides
                              documentation](https://docs.stackable.tech/home/2\
                              4.3/concepts/overrides#env-overrides) for more
                              information and consult the operator specific
                              usage guide to find out about the product specific
                              environment variables that are available."
                            additionalProperties:
                              type: string
                          podOverrides:
                            type: object
                            default: {}
                            properties:
                              spec:
                                type: object
                                properties:
                                  os:
                                    type: object
                                    properties:
                                      name:
                                        type: string
                                  hostIPC:
                                    type: boolean
                                  hostPID:
                                    type: boolean
                                  volumes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        fc:
                                          type: object
                                          properties:
                                            lun:
                                              type: integer
                                              format: int32
                                            wwids:
                                              type: array
                                              items:
                                                type: string
                                            fsType:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            targetWWNs:
                                              type: array
                                              items:
                                                type: string
                                        csi:
                                          type: object
                                          properties:
                                            driver:
                                              type: string
                                            fsType:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            volumeAttributes:
                                              type: object
                                              additionalProperties:
                                                type: string
                                            nodePublishSecretRef:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                        nfs:
                                          type: object
                                          properties:
                                            path:
                                              type: string
                                            server:
                                              type: string
                                            readOnly:
                                              type: boolean
                                        rbd:
                                          type: object
                                          properties:
                                            pool:
                                              type: string
                                            user:
                                              type: string
                                            image:
                                              type: string
                                            fsType:
                                              type: string
                                            keyring:
                                              type: string
                                            monitors:
                                              type: array
                                              items:
                                                type: string
                                            readOnly:
                                              type: boolean
                                            secretRef:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                        name:
                                          type: string
                                        iscsi:
                                          type: object
                                          properties:
                                            iqn:
                                              type: string
                                            lun:
                                              type: integer
                                              format: int32
                                            fsType:
                                              type: string
                                            portals:
                                              type: array
                                              items:
                                                type: string
                                            readOnly:
                                              type: boolean
                                            secretRef:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                            targetPortal:
                                              type: string
                                            initiatorName:
                                              type: string
                                            iscsiInterface:
                                              type: string
                                            chapAuthSession:
                                              type: boolean
                                            chapAuthDiscovery:
                                              type: boolean
                                        cephfs:
                                          type: object
                                          properties:
                                            path:
                                              type: string
                                            user:
                                              type: string
                                            monitors:
                                              type: array
                                              items:
                                                type: string
                                            readOnly:
                                              type: boolean
                                            secretRef:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                            secretFile:
                                              type: string
                                        cinder:
                                          type: object
                                          properties:
                                            fsType:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            volumeID:
                                              type: string
                                            secretRef:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                        secret:
                                          type: object
                                          properties:
                                            items:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  key:
                                                    type: string
                                                  mode:
                                                    type: integer
                                                    format: int32
                                                  path:
                                                    type: string
                                            optional:
                                              type: boolean
                                            secretName:
                                              type: string
                                            defaultMode:
                                              type: integer
                                              format: int32
                                        flocker:
                                          type: object
                                          properties:
                                            datasetName:
                                              type: string
                                            datasetUUID:
                                              type: string
                                        gitRepo:
                                          type: object
                                          properties:
                                            revision:
                                              type: string
                                            directory:
                                              type: string
                                            repository:
                                              type: string
                                        quobyte:
                                          type: object
                                          properties:
                                            user:
                                              type: string
                                            group:
                                              type: string
                                            tenant:
                                              type: string
                                            volume:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            registry:
                                              type: string
                                        scaleIO:
                                          type: object
                                          properties:
                                            fsType:
                                              type: string
                                            system:
                                              type: string
                                            gateway:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            secretRef:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                            sslEnabled:
                                              type: boolean
                                            volumeName:
                                              type: string
                                            storageMode:
                                              type: string
                                            storagePool:
                                              type: string
                                            protectionDomain:
                                              type: string
                                        emptyDir:
                                          type: object
                                          properties:
                                            medium:
                                              type: string
                                            sizeLimit:
                                              type: string
                                        hostPath:
                                          type: object
                                          properties:
                                            path:
                                              type: string
                                            type:
                                              type: string
                                        azureDisk:
                                          type: object
                                          properties:
                                            kind:
                                              type: string
                                            fsType:
                                              type: string
                                            diskURI:
                                              type: string
                                            diskName:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            cachingMode:
                                              type: string
                                        azureFile:
                                          type: object
                                          properties:
                                            readOnly:
                                              type: boolean
                                            shareName:
                                              type: string
                                            secretName:
                                              type: string
                                        configMap:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                            items:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  key:
                                                    type: string
                                                  mode:
                                                    type: integer
                                                    format: int32
                                                  path:
                                                    type: string
                                            optional:
                                              type: boolean
                                            defaultMode:
                                              type: integer
                                              format: int32
                                        ephemeral:
                                          type: object
                                          properties:
                                            volumeClaimTemplate:
                                              type: object
                                              properties:
                                                spec:
                                                  type: object
                                                  properties:
                                                    selector:
                                                      type: object
                                                      properties:
                                                        matchLabels:
                                                          type: object
                                                          additionalProperties:
                                                            type: string
                                                        matchExpressions:
                                                          type: array
                                                          items:
                                                            type: object
                                                            properties:
                                                              key:
                                                                type: string
                                                              values:
                                                                type: array
                                                                items:
                                                                  type: string
                                                              operator:
                                                                type: string
                                                    resources:
                                                      type: object
                                                      properties:
                                                        claims:
                                                          type: array
                                                          items:
                                                            type: object
                                                            properties:
                                                              name:
                                                                type: string
                                                        limits:
                                                          type: object
                                                          additionalProperties:
                                                            type: string
                                                        requests:
                                                          type: object
                                                          additionalProperties:
                                                            type: string
                                                    dataSource:
                                                      type: object
                                                      properties:
                                                        kind:
                                                          type: string
                                                        name:
                                                          type: string
                                                        apiGroup:
                                                          type: string
                                                    volumeMode:
                                                      type: string
                                                    volumeName:
                                                      type: string
                                                    accessModes:
                                                      type: array
                                                      items:
                                                        type: string
                                                    dataSourceRef:
                                                      type: object
                                                      properties:
                                                        kind:
                                                          type: string
                                                        name:
                                                          type: string
                                                        apiGroup:
                                                          type: string
                                                        namespace:
                                                          type: string
                                                    storageClassName:
                                                      type: string
                                                metadata:
                                                  type: object
                                                  properties:
                                                    uid:
                                                      type: string
                                                    name:
                                                      type: string
                                                    labels:
                                                      type: object
                                                      additionalProperties:
                                                        type: string
                                                    selfLink:
                                                      type: string
                                                    namespace:
                                                      type: string
                                                    finalizers:
                                                      type: array
                                                      items:
                                                        type: string
                                                    generation:
                                                      type: integer
                                                      format: int64
                                                    annotations:
                                                      type: object
                                                      additionalProperties:
                                                        type: string
                                                    generateName:
                                                      type: string
                                                    managedFields:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          time:
                                                            type: string
                                                            format: date-time
                                                          manager:
                                                            type: string
                                                          fieldsV1:
                                                            type: object
                                                          operation:
                                                            type: string
                                                          apiVersion:
                                                            type: string
                                                          fieldsType:
                                                            type: string
                                                          subresource:
                                                            type: string
                                                    ownerReferences:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          uid:
                                                            type: string
                                                          kind:
                                                            type: string
                                                          name:
                                                            type: string
                                                          apiVersion:
                                                            type: string
                                                          controller:
                                                            type: boolean
                                                          blockOwnerDeletion:
                                                            type: boolean
                                                    resourceVersion:
                                                      type: string
                                                    creationTimestamp:
                                                      type: string
                                                      format: date-time
                                                    deletionTimestamp:
                                                      type: string
                                                      format: date-time
                                                    deletionGracePeriodSeconds:
                                                      type: integer
                                                      format: int64
                                        glusterfs:
                                          type: object
                                          properties:
                                            path:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            endpoints:
                                              type: string
                                        projected:
                                          type: object
                                          properties:
                                            sources:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  secret:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      items:
                                                        type: array
                                                        items:
                                                          type: object
                                                          properties:
                                                            key:
                                                              type: string
                                                            mode:
                                                              type: integer
                                                              format: int32
                                                            path:
                                                              type: string
                                                      optional:
                                                        type: boolean
                                                  configMap:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      items:
                                                        type: array
                                                        items:
                                                          type: object
                                                          properties:
                                                            key:
                                                              type: string
                                                            mode:
                                                              type: integer
                                                              format: int32
                                                            path:
                                                              type: string
                                                      optional:
                                                        type: boolean
                                                  downwardAPI:
                                                    type: object
                                                    properties:
                                                      items:
                                                        type: array
                                                        items:
                                                          type: object
                                                          properties:
                                                            mode:
                                                              type: integer
                                                              format: int32
                                                            path:
                                                              type: string
                                                            fieldRef:
                                                              type: object
                                                              properties:
                                                                fieldPath:
                                                                  type: string
                                                                apiVersion:
                                                                  type: string
                                                            resourceFieldRef:
                                                              type: object
                                                              properties:
                                                                divisor:
                                                                  type: string
                                                                resource:
                                                                  type: string
                                                                containerName:
                                                                  type: string
                                                  serviceAccountToken:
                                                    type: object
                                                    properties:
                                                      path:
                                                        type: string
                                                      audience:
                                                        type: string
                                                      expirationSeconds:
                                                        type: integer
                                                        format: int64
                                            defaultMode:
                                              type: integer
                                              format: int32
                                        storageos:
                                          type: object
                                          properties:
                                            fsType:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            secretRef:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                            volumeName:
                                              type: string
                                            volumeNamespace:
                                              type: string
                                        flexVolume:
                                          type: object
                                          properties:
                                            driver:
                                              type: string
                                            fsType:
                                              type: string
                                            options:
                                              type: object
                                              additionalProperties:
                                                type: string
                                            readOnly:
                                              type: boolean
                                            secretRef:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                        downwardAPI:
                                          type: object
                                          properties:
                                            items:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  mode:
                                                    type: integer
                                                    format: int32
                                                  path:
                                                    type: string
                                                  fieldRef:
                                                    type: object
                                                    properties:
                                                      fieldPath:
                                                        type: string
                                                      apiVersion:
                                                        type: string
                                                  resourceFieldRef:
                                                    type: object
                                                    properties:
                                                      divisor:
                                                        type: string
                                                      resource:
                                                        type: string
                                                      containerName:
                                                        type: string
                                            defaultMode:
                                              type: integer
                                              format: int32
                                        vsphereVolume:
                                          type: object
                                          properties:
                                            fsType:
                                              type: string
                                            volumePath:
                                              type: string
                                            storagePolicyID:
                                              type: string
                                            storagePolicyName:
                                              type: string
                                        portworxVolume:
                                          type: object
                                          properties:
                                            fsType:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            volumeID:
                                              type: string
                                        gcePersistentDisk:
                                          type: object
                                          properties:
                                            fsType:
                                              type: string
                                            pdName:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            partition:
                                              type: integer
                                              format: int32
                                        awsElasticBlockStore:
                                          type: object
                                          properties:
                                            fsType:
                                              type: string
                                            readOnly:
                                              type: boolean
                                            volumeID:
                                              type: string
                                            partition:
                                              type: integer
                                              format: int32
                                        photonPersistentDisk:
                                          type: object
                                          properties:
                                            pdID:
                                              type: string
                                            fsType:
                                              type: string
                                        persistentVolumeClaim:
                                          type: object
                                          properties:
                                            readOnly:
                                              type: boolean
                                            claimName:
                                              type: string
                                  affinity:
                                    type: object
                                    properties:
                                      podAffinity:
                                        type: object
                                        properties:
                                          requiredDuringSchedulingIgnoredDuringExecution:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                namespaces:
                                                  type: array
                                                  items:
                                                    type: string
                                                topologyKey:
                                                  type: string
                                                labelSelector:
                                                  type: object
                                                  properties:
                                                    matchLabels:
                                                      type: object
                                                      additionalProperties:
                                                        type: string
                                                    matchExpressions:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          key:
                                                            type: string
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                          operator:
                                                            type: string
                                                namespaceSelector:
                                                  type: object
                                                  properties:
                                                    matchLabels:
                                                      type: object
                                                      additionalProperties:
                                                        type: string
                                                    matchExpressions:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          key:
                                                            type: string
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                          operator:
                                                            type: string
                                          preferredDuringSchedulingIgnoredDuringExecution:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                weight:
                                                  type: integer
                                                  format: int32
                                                podAffinityTerm:
                                                  type: object
                                                  properties:
                                                    namespaces:
                                                      type: array
                                                      items:
                                                        type: string
                                                    topologyKey:
                                                      type: string
                                                    labelSelector:
                                                      type: object
                                                      properties:
                                                        matchLabels:
                                                          type: object
                                                          additionalProperties:
                                                            type: string
                                                        matchExpressions:
                                                          type: array
                                                          items:
                                                            type: object
                                                            properties:
                                                              key:
                                                                type: string
                                                              values:
                                                                type: array
                                                                items:
                                                                  type: string
                                                              operator:
                                                                type: string
                                                    namespaceSelector:
                                                      type: object
                                                      properties:
                                                        matchLabels:
                                                          type: object
                                                          additionalProperties:
                                                            type: string
                                                        matchExpressions:
                                                          type: array
                                                          items:
                                                            type: object
                                                            properties:
                                                              key:
                                                                type: string
                                                              values:
                                                                type: array
                                                                items:
                                                                  type: string
                                                              operator:
                                                                type: string
                                      nodeAffinity:
                                        type: object
                                        properties:
                                          requiredDuringSchedulingIgnoredDuringExecution:
                                            type: object
                                            properties:
                                              nodeSelectorTerms:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    matchFields:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          key:
                                                            type: string
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                          operator:
                                                            type: string
                                                    matchExpressions:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          key:
                                                            type: string
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                          operator:
                                                            type: string
                                          preferredDuringSchedulingIgnoredDuringExecution:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                weight:
                                                  type: integer
                                                  format: int32
                                                preference:
                                                  type: object
                                                  properties:
                                                    matchFields:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          key:
                                                            type: string
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                          operator:
                                                            type: string
                                                    matchExpressions:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          key:
                                                            type: string
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                          operator:
                                                            type: string
                                      podAntiAffinity:
                                        type: object
                                        properties:
                                          requiredDuringSchedulingIgnoredDuringExecution:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                namespaces:
                                                  type: array
                                                  items:
                                                    type: string
                                                topologyKey:
                                                  type: string
                                                labelSelector:
                                                  type: object
                                                  properties:
                                                    matchLabels:
                                                      type: object
                                                      additionalProperties:
                                                        type: string
                                                    matchExpressions:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          key:
                                                            type: string
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                          operator:
                                                            type: string
                                                namespaceSelector:
                                                  type: object
                                                  properties:
                                                    matchLabels:
                                                      type: object
                                                      additionalProperties:
                                                        type: string
                                                    matchExpressions:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          key:
                                                            type: string
                                                          values:
                                                            type: array
                                                            items:
                                                              type: string
                                                          operator:
                                                            type: string
                                          preferredDuringSchedulingIgnoredDuringExecution:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                weight:
                                                  type: integer
                                                  format: int32
                                                podAffinityTerm:
                                                  type: object
                                                  properties:
                                                    namespaces:
                                                      type: array
                                                      items:
                                                        type: string
                                                    topologyKey:
                                                      type: string
                                                    labelSelector:
                                                      type: object
                                                      properties:
                                                        matchLabels:
                                                          type: object
                                                          additionalProperties:
                                                            type: string
                                                        matchExpressions:
                                                          type: array
                                                          items:
                                                            type: object
                                                            properties:
                                                              key:
                                                                type: string
                                                              values:
                                                                type: array
                                                                items:
                                                                  type: string
                                                              operator:
                                                                type: string
                                                    namespaceSelector:
                                                      type: object
                                                      properties:
                                                        matchLabels:
                                                          type: object
                                                          additionalProperties:
                                                            type: string
                                                        matchExpressions:
                                                          type: array
                                                          items:
                                                            type: object
                                                            properties:
                                                              key:
                                                                type: string
                                                              values:
                                                                type: array
                                                                items:
                                                                  type: string
                                                              operator:
                                                                type: string
                                  hostname:
                                    type: string
                                  nodeName:
                                    type: string
                                  overhead:
                                    type: object
                                    additionalProperties:
                                      type: string
                                  priority:
                                    type: integer
                                    format: int32
                                  dnsConfig:
                                    type: object
                                    properties:
                                      options:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                      searches:
                                        type: array
                                        items:
                                          type: string
                                      nameservers:
                                        type: array
                                        items:
                                          type: string
                                  dnsPolicy:
                                    type: string
                                  hostUsers:
                                    type: boolean
                                  subdomain:
                                    type: string
                                  containers:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        env:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                              valueFrom:
                                                type: object
                                                properties:
                                                  fieldRef:
                                                    type: object
                                                    properties:
                                                      fieldPath:
                                                        type: string
                                                      apiVersion:
                                                        type: string
                                                  secretKeyRef:
                                                    type: object
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                  configMapKeyRef:
                                                    type: object
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                  resourceFieldRef:
                                                    type: object
                                                    properties:
                                                      divisor:
                                                        type: string
                                                      resource:
                                                        type: string
                                                      containerName:
                                                        type: string
                                        tty:
                                          type: boolean
                                        args:
                                          type: array
                                          items:
                                            type: string
                                        name:
                                          type: string
                                        image:
                                          type: string
                                        ports:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              hostIP:
                                                type: string
                                              hostPort:
                                                type: integer
                                                format: int32
                                              protocol:
                                                type: string
                                              containerPort:
                                                type: integer
                                                format: int32
                                        stdin:
                                          type: boolean
                                        command:
                                          type: array
                                          items:
                                            type: string
                                        envFrom:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              prefix:
                                                type: string
                                              secretRef:
                                                type: object
                                                properties:
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                              configMapRef:
                                                type: object
                                                properties:
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                        lifecycle:
                                          type: object
                                          properties:
                                            preStop:
                                              type: object
                                              properties:
                                                exec:
                                                  type: object
                                                  properties:
                                                    command:
                                                      type: array
                                                      items:
                                                        type: string
                                                httpGet:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    path:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                                    scheme:
                                                      type: string
                                                    httpHeaders:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                tcpSocket:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                            postStart:
                                              type: object
                                              properties:
                                                exec:
                                                  type: object
                                                  properties:
                                                    command:
                                                      type: array
                                                      items:
                                                        type: string
                                                httpGet:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    path:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                                    scheme:
                                                      type: string
                                                    httpHeaders:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                tcpSocket:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                        resources:
                                          type: object
                                          properties:
                                            claims:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  name:
                                                    type: string
                                            limits:
                                              type: object
                                              additionalProperties:
                                                type: string
                                            requests:
                                              type: object
                                              additionalProperties:
                                                type: string
                                        stdinOnce:
                                          type: boolean
                                        workingDir:
                                          type: string
                                        resizePolicy:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              resourceName:
                                                type: string
                                              restartPolicy:
                                                type: string
                                        startupProbe:
                                          type: object
                                          properties:
                                            exec:
                                              type: object
                                              properties:
                                                command:
                                                  type: array
                                                  items:
                                                    type: string
                                            grpc:
                                              type: object
                                              properties:
                                                port:
                                                  type: integer
                                                  format: int32
                                                service:
                                                  type: string
                                            httpGet:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                path:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                                scheme:
                                                  type: string
                                                httpHeaders:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                            tcpSocket:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                            periodSeconds:
                                              type: integer
                                              format: int32
                                            timeoutSeconds:
                                              type: integer
                                              format: int32
                                            failureThreshold:
                                              type: integer
                                              format: int32
                                            successThreshold:
                                              type: integer
                                              format: int32
                                            initialDelaySeconds:
                                              type: integer
                                              format: int32
                                            terminationGracePeriodSeconds:
                                              type: integer
                                              format: int64
                                        volumeMounts:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              subPath:
                                                type: string
                                              readOnly:
                                                type: boolean
                                              mountPath:
                                                type: string
                                              subPathExpr:
                                                type: string
                                              mountPropagation:
                                                type: string
                                        livenessProbe:
                                          type: object
                                          properties:
                                            exec:
                                              type: object
                                              properties:
                                                command:
                                                  type: array
                                                  items:
                                                    type: string
                                            grpc:
                                              type: object
                                              properties:
                                                port:
                                                  type: integer
                                                  format: int32
                                                service:
                                                  type: string
                                            httpGet:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                path:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                                scheme:
                                                  type: string
                                                httpHeaders:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                            tcpSocket:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                            periodSeconds:
                                              type: integer
                                              format: int32
                                            timeoutSeconds:
                                              type: integer
                                              format: int32
                                            failureThreshold:
                                              type: integer
                                              format: int32
                                            successThreshold:
                                              type: integer
                                              format: int32
                                            initialDelaySeconds:
                                              type: integer
                                              format: int32
                                            terminationGracePeriodSeconds:
                                              type: integer
                                              format: int64
                                        restartPolicy:
                                          type: string
                                        volumeDevices:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              devicePath:
                                                type: string
                                        readinessProbe:
                                          type: object
                                          properties:
                                            exec:
                                              type: object
                                              properties:
                                                command:
                                                  type: array
                                                  items:
                                                    type: string
                                            grpc:
                                              type: object
                                              properties:
                                                port:
                                                  type: integer
                                                  format: int32
                                                service:
                                                  type: string
                                            httpGet:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                path:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                                scheme:
                                                  type: string
                                                httpHeaders:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                            tcpSocket:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                            periodSeconds:
                                              type: integer
                                              format: int32
                                            timeoutSeconds:
                                              type: integer
                                              format: int32
                                            failureThreshold:
                                              type: integer
                                              format: int32
                                            successThreshold:
                                              type: integer
                                              format: int32
                                            initialDelaySeconds:
                                              type: integer
                                              format: int32
                                            terminationGracePeriodSeconds:
                                              type: integer
                                              format: int64
                                        imagePullPolicy:
                                          type: string
                                        securityContext:
                                          type: object
                                          properties:
                                            procMount:
                                              type: string
                                            runAsUser:
                                              type: integer
                                              format: int64
                                            privileged:
                                              type: boolean
                                            runAsGroup:
                                              type: integer
                                              format: int64
                                            capabilities:
                                              type: object
                                              properties:
                                                add:
                                                  type: array
                                                  items:
                                                    type: string
                                                drop:
                                                  type: array
                                                  items:
                                                    type: string
                                            runAsNonRoot:
                                              type: boolean
                                            seLinuxOptions:
                                              type: object
                                              properties:
                                                role:
                                                  type: string
                                                type:
                                                  type: string
                                                user:
                                                  type: string
                                                level:
                                                  type: string
                                            seccompProfile:
                                              type: object
                                              properties:
                                                type:
                                                  type: string
                                                localhostProfile:
                                                  type: string
                                            windowsOptions:
                                              type: object
                                              properties:
                                                hostProcess:
                                                  type: boolean
                                                runAsUserName:
                                                  type: string
                                                gmsaCredentialSpec:
                                                  type: string
                                                gmsaCredentialSpecName:
                                                  type: string
                                            readOnlyRootFilesystem:
                                              type: boolean
                                            allowPrivilegeEscalation:
                                              type: boolean
                                        terminationMessagePath:
                                          type: string
                                        terminationMessagePolicy:
                                          type: string
                                  hostAliases:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        ip:
                                          type: string
                                        hostnames:
                                          type: array
                                          items:
                                            type: string
                                  hostNetwork:
                                    type: boolean
                                  tolerations:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        key:
                                          type: string
                                        value:
                                          type: string
                                        effect:
                                          type: string
                                        operator:
                                          type: string
                                        tolerationSeconds:
                                          type: integer
                                          format: int64
                                  nodeSelector:
                                    type: object
                                    additionalProperties:
                                      type: string
                                  restartPolicy:
                                    type: string
                                  schedulerName:
                                    type: string
                                  initContainers:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        env:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                              valueFrom:
                                                type: object
                                                properties:
                                                  fieldRef:
                                                    type: object
                                                    properties:
                                                      fieldPath:
                                                        type: string
                                                      apiVersion:
                                                        type: string
                                                  secretKeyRef:
                                                    type: object
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                  configMapKeyRef:
                                                    type: object
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                  resourceFieldRef:
                                                    type: object
                                                    properties:
                                                      divisor:
                                                        type: string
                                                      resource:
                                                        type: string
                                                      containerName:
                                                        type: string
                                        tty:
                                          type: boolean
                                        args:
                                          type: array
                                          items:
                                            type: string
                                        name:
                                          type: string
                                        image:
                                          type: string
                                        ports:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              hostIP:
                                                type: string
                                              hostPort:
                                                type: integer
                                                format: int32
                                              protocol:
                                                type: string
                                              containerPort:
                                                type: integer
                                                format: int32
                                        stdin:
                                          type: boolean
                                        command:
                                          type: array
                                          items:
                                            type: string
                                        envFrom:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              prefix:
                                                type: string
                                              secretRef:
                                                type: object
                                                properties:
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                              configMapRef:
                                                type: object
                                                properties:
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                        lifecycle:
                                          type: object
                                          properties:
                                            preStop:
                                              type: object
                                              properties:
                                                exec:
                                                  type: object
                                                  properties:
                                                    command:
                                                      type: array
                                                      items:
                                                        type: string
                                                httpGet:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    path:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                                    scheme:
                                                      type: string
                                                    httpHeaders:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                tcpSocket:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                            postStart:
                                              type: object
                                              properties:
                                                exec:
                                                  type: object
                                                  properties:
                                                    command:
                                                      type: array
                                                      items:
                                                        type: string
                                                httpGet:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    path:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                                    scheme:
                                                      type: string
                                                    httpHeaders:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                tcpSocket:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                        resources:
                                          type: object
                                          properties:
                                            claims:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  name:
                                                    type: string
                                            limits:
                                              type: object
                                              additionalProperties:
                                                type: string
                                            requests:
                                              type: object
                                              additionalProperties:
                                                type: string
                                        stdinOnce:
                                          type: boolean
                                        workingDir:
                                          type: string
                                        resizePolicy:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              resourceName:
                                                type: string
                                              restartPolicy:
                                                type: string
                                        startupProbe:
                                          type: object
                                          properties:
                                            exec:
                                              type: object
                                              properties:
                                                command:
                                                  type: array
                                                  items:
                                                    type: string
                                            grpc:
                                              type: object
                                              properties:
                                                port:
                                                  type: integer
                                                  format: int32
                                                service:
                                                  type: string
                                            httpGet:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                path:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                                scheme:
                                                  type: string
                                                httpHeaders:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                            tcpSocket:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                            periodSeconds:
                                              type: integer
                                              format: int32
                                            timeoutSeconds:
                                              type: integer
                                              format: int32
                                            failureThreshold:
                                              type: integer
                                              format: int32
                                            successThreshold:
                                              type: integer
                                              format: int32
                                            initialDelaySeconds:
                                              type: integer
                                              format: int32
                                            terminationGracePeriodSeconds:
                                              type: integer
                                              format: int64
                                        volumeMounts:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              subPath:
                                                type: string
                                              readOnly:
                                                type: boolean
                                              mountPath:
                                                type: string
                                              subPathExpr:
                                                type: string
                                              mountPropagation:
                                                type: string
                                        livenessProbe:
                                          type: object
                                          properties:
                                            exec:
                                              type: object
                                              properties:
                                                command:
                                                  type: array
                                                  items:
                                                    type: string
                                            grpc:
                                              type: object
                                              properties:
                                                port:
                                                  type: integer
                                                  format: int32
                                                service:
                                                  type: string
                                            httpGet:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                path:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                                scheme:
                                                  type: string
                                                httpHeaders:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                            tcpSocket:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                            periodSeconds:
                                              type: integer
                                              format: int32
                                            timeoutSeconds:
                                              type: integer
                                              format: int32
                                            failureThreshold:
                                              type: integer
                                              format: int32
                                            successThreshold:
                                              type: integer
                                              format: int32
                                            initialDelaySeconds:
                                              type: integer
                                              format: int32
                                            terminationGracePeriodSeconds:
                                              type: integer
                                              format: int64
                                        restartPolicy:
                                          type: string
                                        volumeDevices:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              devicePath:
                                                type: string
                                        readinessProbe:
                                          type: object
                                          properties:
                                            exec:
                                              type: object
                                              properties:
                                                command:
                                                  type: array
                                                  items:
                                                    type: string
                                            grpc:
                                              type: object
                                              properties:
                                                port:
                                                  type: integer
                                                  format: int32
                                                service:
                                                  type: string
                                            httpGet:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                path:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                                scheme:
                                                  type: string
                                                httpHeaders:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                            tcpSocket:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                            periodSeconds:
                                              type: integer
                                              format: int32
                                            timeoutSeconds:
                                              type: integer
                                              format: int32
                                            failureThreshold:
                                              type: integer
                                              format: int32
                                            successThreshold:
                                              type: integer
                                              format: int32
                                            initialDelaySeconds:
                                              type: integer
                                              format: int32
                                            terminationGracePeriodSeconds:
                                              type: integer
                                              format: int64
                                        imagePullPolicy:
                                          type: string
                                        securityContext:
                                          type: object
                                          properties:
                                            procMount:
                                              type: string
                                            runAsUser:
                                              type: integer
                                              format: int64
                                            privileged:
                                              type: boolean
                                            runAsGroup:
                                              type: integer
                                              format: int64
                                            capabilities:
                                              type: object
                                              properties:
                                                add:
                                                  type: array
                                                  items:
                                                    type: string
                                                drop:
                                                  type: array
                                                  items:
                                                    type: string
                                            runAsNonRoot:
                                              type: boolean
                                            seLinuxOptions:
                                              type: object
                                              properties:
                                                role:
                                                  type: string
                                                type:
                                                  type: string
                                                user:
                                                  type: string
                                                level:
                                                  type: string
                                            seccompProfile:
                                              type: object
                                              properties:
                                                type:
                                                  type: string
                                                localhostProfile:
                                                  type: string
                                            windowsOptions:
                                              type: object
                                              properties:
                                                hostProcess:
                                                  type: boolean
                                                runAsUserName:
                                                  type: string
                                                gmsaCredentialSpec:
                                                  type: string
                                                gmsaCredentialSpecName:
                                                  type: string
                                            readOnlyRootFilesystem:
                                              type: boolean
                                            allowPrivilegeEscalation:
                                              type: boolean
                                        terminationMessagePath:
                                          type: string
                                        terminationMessagePolicy:
                                          type: string
                                  readinessGates:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        conditionType:
                                          type: string
                                  resourceClaims:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        source:
                                          type: object
                                          properties:
                                            resourceClaimName:
                                              type: string
                                            resourceClaimTemplateName:
                                              type: string
                                  serviceAccount:
                                    type: string
                                  schedulingGates:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                  securityContext:
                                    type: object
                                    properties:
                                      fsGroup:
                                        type: integer
                                        format: int64
                                      sysctls:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                      runAsUser:
                                        type: integer
                                        format: int64
                                      runAsGroup:
                                        type: integer
                                        format: int64
                                      runAsNonRoot:
                                        type: boolean
                                      seLinuxOptions:
                                        type: object
                                        properties:
                                          role:
                                            type: string
                                          type:
                                            type: string
                                          user:
                                            type: string
                                          level:
                                            type: string
                                      seccompProfile:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                          localhostProfile:
                                            type: string
                                      windowsOptions:
                                        type: object
                                        properties:
                                          hostProcess:
                                            type: boolean
                                          runAsUserName:
                                            type: string
                                          gmsaCredentialSpec:
                                            type: string
                                          gmsaCredentialSpecName:
                                            type: string
                                      supplementalGroups:
                                        type: array
                                        items:
                                          type: integer
                                          format: int64
                                      fsGroupChangePolicy:
                                        type: string
                                  imagePullSecrets:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                  preemptionPolicy:
                                    type: string
                                  runtimeClassName:
                                    type: string
                                  priorityClassName:
                                    type: string
                                  setHostnameAsFQDN:
                                    type: boolean
                                  enableServiceLinks:
                                    type: boolean
                                  serviceAccountName:
                                    type: string
                                  ephemeralContainers:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        env:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                              valueFrom:
                                                type: object
                                                properties:
                                                  fieldRef:
                                                    type: object
                                                    properties:
                                                      fieldPath:
                                                        type: string
                                                      apiVersion:
                                                        type: string
                                                  secretKeyRef:
                                                    type: object
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                  configMapKeyRef:
                                                    type: object
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                  resourceFieldRef:
                                                    type: object
                                                    properties:
                                                      divisor:
                                                        type: string
                                                      resource:
                                                        type: string
                                                      containerName:
                                                        type: string
                                        tty:
                                          type: boolean
                                        args:
                                          type: array
                                          items:
                                            type: string
                                        name:
                                          type: string
                                        image:
                                          type: string
                                        ports:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              hostIP:
                                                type: string
                                              hostPort:
                                                type: integer
                                                format: int32
                                              protocol:
                                                type: string
                                              containerPort:
                                                type: integer
                                                format: int32
                                        stdin:
                                          type: boolean
                                        command:
                                          type: array
                                          items:
                                            type: string
                                        envFrom:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              prefix:
                                                type: string
                                              secretRef:
                                                type: object
                                                properties:
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                              configMapRef:
                                                type: object
                                                properties:
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                        lifecycle:
                                          type: object
                                          properties:
                                            preStop:
                                              type: object
                                              properties:
                                                exec:
                                                  type: object
                                                  properties:
                                                    command:
                                                      type: array
                                                      items:
                                                        type: string
                                                httpGet:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    path:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                                    scheme:
                                                      type: string
                                                    httpHeaders:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                tcpSocket:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                            postStart:
                                              type: object
                                              properties:
                                                exec:
                                                  type: object
                                                  properties:
                                                    command:
                                                      type: array
                                                      items:
                                                        type: string
                                                httpGet:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    path:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                                    scheme:
                                                      type: string
                                                    httpHeaders:
                                                      type: array
                                                      items:
                                                        type: object
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                tcpSocket:
                                                  type: object
                                                  properties:
                                                    host:
                                                      type: string
                                                    port:
                                                      type: string
                                                      format: int-or-string
                                        resources:
                                          type: object
                                          properties:
                                            claims:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  name:
                                                    type: string
                                            limits:
                                              type: object
                                              additionalProperties:
                                                type: string
                                            requests:
                                              type: object
                                              additionalProperties:
                                                type: string
                                        stdinOnce:
                                          type: boolean
                                        workingDir:
                                          type: string
                                        resizePolicy:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              resourceName:
                                                type: string
                                              restartPolicy:
                                                type: string
                                        startupProbe:
                                          type: object
                                          properties:
                                            exec:
                                              type: object
                                              properties:
                                                command:
                                                  type: array
                                                  items:
                                                    type: string
                                            grpc:
                                              type: object
                                              properties:
                                                port:
                                                  type: integer
                                                  format: int32
                                                service:
                                                  type: string
                                            httpGet:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                path:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                                scheme:
                                                  type: string
                                                httpHeaders:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                            tcpSocket:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                            periodSeconds:
                                              type: integer
                                              format: int32
                                            timeoutSeconds:
                                              type: integer
                                              format: int32
                                            failureThreshold:
                                              type: integer
                                              format: int32
                                            successThreshold:
                                              type: integer
                                              format: int32
                                            initialDelaySeconds:
                                              type: integer
                                              format: int32
                                            terminationGracePeriodSeconds:
                                              type: integer
                                              format: int64
                                        volumeMounts:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              subPath:
                                                type: string
                                              readOnly:
                                                type: boolean
                                              mountPath:
                                                type: string
                                              subPathExpr:
                                                type: string
                                              mountPropagation:
                                                type: string
                                        livenessProbe:
                                          type: object
                                          properties:
                                            exec:
                                              type: object
                                              properties:
                                                command:
                                                  type: array
                                                  items:
                                                    type: string
                                            grpc:
                                              type: object
                                              properties:
                                                port:
                                                  type: integer
                                                  format: int32
                                                service:
                                                  type: string
                                            httpGet:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                path:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                                scheme:
                                                  type: string
                                                httpHeaders:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                            tcpSocket:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                            periodSeconds:
                                              type: integer
                                              format: int32
                                            timeoutSeconds:
                                              type: integer
                                              format: int32
                                            failureThreshold:
                                              type: integer
                                              format: int32
                                            successThreshold:
                                              type: integer
                                              format: int32
                                            initialDelaySeconds:
                                              type: integer
                                              format: int32
                                            terminationGracePeriodSeconds:
                                              type: integer
                                              format: int64
                                        restartPolicy:
                                          type: string
                                        volumeDevices:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              name:
                                                type: string
                                              devicePath:
                                                type: string
                                        readinessProbe:
                                          type: object
                                          properties:
                                            exec:
                                              type: object
                                              properties:
                                                command:
                                                  type: array
                                                  items:
                                                    type: string
                                            grpc:
                                              type: object
                                              properties:
                                                port:
                                                  type: integer
                                                  format: int32
                                                service:
                                                  type: string
                                            httpGet:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                path:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                                scheme:
                                                  type: string
                                                httpHeaders:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                            tcpSocket:
                                              type: object
                                              properties:
                                                host:
                                                  type: string
                                                port:
                                                  type: string
                                                  format: int-or-string
                                            periodSeconds:
                                              type: integer
                                              format: int32
                                            timeoutSeconds:
                                              type: integer
                                              format: int32
                                            failureThreshold:
                                              type: integer
                                              format: int32
                                            successThreshold:
                                              type: integer
                                              format: int32
                                            initialDelaySeconds:
                                              type: integer
                                              format: int32
                                            terminationGracePeriodSeconds:
                                              type: integer
                                              format: int64
                                        imagePullPolicy:
                                          type: string
                                        securityContext:
                                          type: object
                                          properties:
                                            procMount:
                                              type: string
                                            runAsUser:
                                              type: integer
                                              format: int64
                                            privileged:
                                              type: boolean
                                            runAsGroup:
                                              type: integer
                                              format: int64
                                            capabilities:
                                              type: object
                                              properties:
                                                add:
                                                  type: array
                                                  items:
                                                    type: string
                                                drop:
                                                  type: array
                                                  items:
                                                    type: string
                                            runAsNonRoot:
                                              type: boolean
                                            seLinuxOptions:
                                              type: object
                                              properties:
                                                role:
                                                  type: string
                                                type:
                                                  type: string
                                                user:
                                                  type: string
                                                level:
                                                  type: string
                                            seccompProfile:
                                              type: object
                                              properties:
                                                type:
                                                  type: string
                                                localhostProfile:
                                                  type: string
                                            windowsOptions:
                                              type: object
                                              properties:
                                                hostProcess:
                                                  type: boolean
                                                runAsUserName:
                                                  type: string
                                                gmsaCredentialSpec:
                                                  type: string
                                                gmsaCredentialSpecName:
                                                  type: string
                                            readOnlyRootFilesystem:
                                              type: boolean
                                            allowPrivilegeEscalation:
                                              type: boolean
                                        targetContainerName:
                                          type: string
                                        terminationMessagePath:
                                          type: string
                                        terminationMessagePolicy:
                                          type: string
                                  activeDeadlineSeconds:
                                    type: integer
                                    format: int64
                                  shareProcessNamespace:
                                    type: boolean
                                  topologySpreadConstraints:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        maxSkew:
                                          type: integer
                                          format: int32
                                        minDomains:
                                          type: integer
                                          format: int32
                                        topologyKey:
                                          type: string
                                        labelSelector:
                                          type: object
                                          properties:
                                            matchLabels:
                                              type: object
                                              additionalProperties:
                                                type: string
                                            matchExpressions:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  key:
                                                    type: string
                                                  values:
                                                    type: array
                                                    items:
                                                      type: string
                                                  operator:
                                                    type: string
                                        matchLabelKeys:
                                          type: array
                                          items:
                                            type: string
                                        nodeTaintsPolicy:
                                          type: string
                                        whenUnsatisfiable:
                                          type: string
                                        nodeAffinityPolicy:
                                          type: string
                                  automountServiceAccountToken:
                                    type: boolean
                                  terminationGracePeriodSeconds:
                                    type: integer
                                    format: int64
                              metadata:
                                type: object
                                properties:
                                  uid:
                                    type: string
                                  name:
                                    type: string
                                  labels:
                                    type: object
                                    additionalProperties:
                                      type: string
                                  selfLink:
                                    type: string
                                  namespace:
                                    type: string
                                  finalizers:
                                    type: array
                                    items:
                                      type: string
                                  generation:
                                    type: integer
                                    format: int64
                                  annotations:
                                    type: object
                                    additionalProperties:
                                      type: string
                                  generateName:
                                    type: string
                                  managedFields:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        time:
                                          type: string
                                          format: date-time
                                        manager:
                                          type: string
                                        fieldsV1:
                                          type: object
                                        operation:
                                          type: string
                                        apiVersion:
                                          type: string
                                        fieldsType:
                                          type: string
                                        subresource:
                                          type: string
                                  ownerReferences:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        uid:
                                          type: string
                                        kind:
                                          type: string
                                        name:
                                          type: string
                                        apiVersion:
                                          type: string
                                        controller:
                                          type: boolean
                                        blockOwnerDeletion:
                                          type: boolean
                                  resourceVersion:
                                    type: string
                                  creationTimestamp:
                                    type: string
                                    format: date-time
                                  deletionTimestamp:
                                    type: string
                                    format: date-time
                                  deletionGracePeriodSeconds:
                                    type: integer
                                    format: int64
                            description: In the `podOverrides` property you can define a
                              [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
                              to override any property that can be set on a
                              Kubernetes Pod. Read the [Pod overrides
                              documentation](https://docs.stackable.tech/home/24.3/concepts/overrides#pod-overrides)
                              for more information.
                          configOverrides:
                            type: object
                            default: {}
                            description: The `configOverrides` can be used to configure properties in
                              product config files that are not exposed in the
                              CRD. Read the [config overrides
                              documentation](https://docs.stackable.tech/home/24.3/concepts/overrides#config-overrides)
                              and consult the operator specific usage guide
                              documentation for details on the available config
                              files and settings for the specific product.
                            additionalProperties:
                              type: object
                              additionalProperties:
                                type: string
                    cliOverrides:
                      type: object
                      default: {}
                      additionalProperties:
                        type: string
                    envOverrides:
                      type: object
                      default: {}
                      description: "`envOverrides` configure environment variables to be set in the
                        Pods. It is a map from strings to strings - environment
                        variables and the value to set. Read the [environment
                        variable overrides
                        documentation](https://docs.stackable.tech/home/24.3/co\
                        ncepts/overrides#env-overrides) for more information and
                        consult the operator specific usage guide to find out
                        about the product specific environment variables that
                        are available."
                      additionalProperties:
                        type: string
                    podOverrides:
                      type: object
                      default: {}
                      properties:
                        spec:
                          type: object
                          properties:
                            os:
                              type: object
                              properties:
                                name:
                                  type: string
                            hostIPC:
                              type: boolean
                            hostPID:
                              type: boolean
                            volumes:
                              type: array
                              items:
                                type: object
                                properties:
                                  fc:
                                    type: object
                                    properties:
                                      lun:
                                        type: integer
                                        format: int32
                                      wwids:
                                        type: array
                                        items:
                                          type: string
                                      fsType:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      targetWWNs:
                                        type: array
                                        items:
                                          type: string
                                  csi:
                                    type: object
                                    properties:
                                      driver:
                                        type: string
                                      fsType:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      volumeAttributes:
                                        type: object
                                        additionalProperties:
                                          type: string
                                      nodePublishSecretRef:
                                        type: object
                                        properties:
                                          name:
                                            type: string
                                  nfs:
                                    type: object
                                    properties:
                                      path:
                                        type: string
                                      server:
                                        type: string
                                      readOnly:
                                        type: boolean
                                  rbd:
                                    type: object
                                    properties:
                                      pool:
                                        type: string
                                      user:
                                        type: string
                                      image:
                                        type: string
                                      fsType:
                                        type: string
                                      keyring:
                                        type: string
                                      monitors:
                                        type: array
                                        items:
                                          type: string
                                      readOnly:
                                        type: boolean
                                      secretRef:
                                        type: object
                                        properties:
                                          name:
                                            type: string
                                  name:
                                    type: string
                                  iscsi:
                                    type: object
                                    properties:
                                      iqn:
                                        type: string
                                      lun:
                                        type: integer
                                        format: int32
                                      fsType:
                                        type: string
                                      portals:
                                        type: array
                                        items:
                                          type: string
                                      readOnly:
                                        type: boolean
                                      secretRef:
                                        type: object
                                        properties:
                                          name:
                                            type: string
                                      targetPortal:
                                        type: string
                                      initiatorName:
                                        type: string
                                      iscsiInterface:
                                        type: string
                                      chapAuthSession:
                                        type: boolean
                                      chapAuthDiscovery:
                                        type: boolean
                                  cephfs:
                                    type: object
                                    properties:
                                      path:
                                        type: string
                                      user:
                                        type: string
                                      monitors:
                                        type: array
                                        items:
                                          type: string
                                      readOnly:
                                        type: boolean
                                      secretRef:
                                        type: object
                                        properties:
                                          name:
                                            type: string
                                      secretFile:
                                        type: string
                                  cinder:
                                    type: object
                                    properties:
                                      fsType:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      volumeID:
                                        type: string
                                      secretRef:
                                        type: object
                                        properties:
                                          name:
                                            type: string
                                  secret:
                                    type: object
                                    properties:
                                      items:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            key:
                                              type: string
                                            mode:
                                              type: integer
                                              format: int32
                                            path:
                                              type: string
                                      optional:
                                        type: boolean
                                      secretName:
                                        type: string
                                      defaultMode:
                                        type: integer
                                        format: int32
                                  flocker:
                                    type: object
                                    properties:
                                      datasetName:
                                        type: string
                                      datasetUUID:
                                        type: string
                                  gitRepo:
                                    type: object
                                    properties:
                                      revision:
                                        type: string
                                      directory:
                                        type: string
                                      repository:
                                        type: string
                                  quobyte:
                                    type: object
                                    properties:
                                      user:
                                        type: string
                                      group:
                                        type: string
                                      tenant:
                                        type: string
                                      volume:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      registry:
                                        type: string
                                  scaleIO:
                                    type: object
                                    properties:
                                      fsType:
                                        type: string
                                      system:
                                        type: string
                                      gateway:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      secretRef:
                                        type: object
                                        properties:
                                          name:
                                            type: string
                                      sslEnabled:
                                        type: boolean
                                      volumeName:
                                        type: string
                                      storageMode:
                                        type: string
                                      storagePool:
                                        type: string
                                      protectionDomain:
                                        type: string
                                  emptyDir:
                                    type: object
                                    properties:
                                      medium:
                                        type: string
                                      sizeLimit:
                                        type: string
                                  hostPath:
                                    type: object
                                    properties:
                                      path:
                                        type: string
                                      type:
                                        type: string
                                  azureDisk:
                                    type: object
                                    properties:
                                      kind:
                                        type: string
                                      fsType:
                                        type: string
                                      diskURI:
                                        type: string
                                      diskName:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      cachingMode:
                                        type: string
                                  azureFile:
                                    type: object
                                    properties:
                                      readOnly:
                                        type: boolean
                                      shareName:
                                        type: string
                                      secretName:
                                        type: string
                                  configMap:
                                    type: object
                                    properties:
                                      name:
                                        type: string
                                      items:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            key:
                                              type: string
                                            mode:
                                              type: integer
                                              format: int32
                                            path:
                                              type: string
                                      optional:
                                        type: boolean
                                      defaultMode:
                                        type: integer
                                        format: int32
                                  ephemeral:
                                    type: object
                                    properties:
                                      volumeClaimTemplate:
                                        type: object
                                        properties:
                                          spec:
                                            type: object
                                            properties:
                                              selector:
                                                type: object
                                                properties:
                                                  matchLabels:
                                                    type: object
                                                    additionalProperties:
                                                      type: string
                                                  matchExpressions:
                                                    type: array
                                                    items:
                                                      type: object
                                                      properties:
                                                        key:
                                                          type: string
                                                        values:
                                                          type: array
                                                          items:
                                                            type: string
                                                        operator:
                                                          type: string
                                              resources:
                                                type: object
                                                properties:
                                                  claims:
                                                    type: array
                                                    items:
                                                      type: object
                                                      properties:
                                                        name:
                                                          type: string
                                                  limits:
                                                    type: object
                                                    additionalProperties:
                                                      type: string
                                                  requests:
                                                    type: object
                                                    additionalProperties:
                                                      type: string
                                              dataSource:
                                                type: object
                                                properties:
                                                  kind:
                                                    type: string
                                                  name:
                                                    type: string
                                                  apiGroup:
                                                    type: string
                                              volumeMode:
                                                type: string
                                              volumeName:
                                                type: string
                                              accessModes:
                                                type: array
                                                items:
                                                  type: string
                                              dataSourceRef:
                                                type: object
                                                properties:
                                                  kind:
                                                    type: string
                                                  name:
                                                    type: string
                                                  apiGroup:
                                                    type: string
                                                  namespace:
                                                    type: string
                                              storageClassName:
                                                type: string
                                          metadata:
                                            type: object
                                            properties:
                                              uid:
                                                type: string
                                              name:
                                                type: string
                                              labels:
                                                type: object
                                                additionalProperties:
                                                  type: string
                                              selfLink:
                                                type: string
                                              namespace:
                                                type: string
                                              finalizers:
                                                type: array
                                                items:
                                                  type: string
                                              generation:
                                                type: integer
                                                format: int64
                                              annotations:
                                                type: object
                                                additionalProperties:
                                                  type: string
                                              generateName:
                                                type: string
                                              managedFields:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    time:
                                                      type: string
                                                      format: date-time
                                                    manager:
                                                      type: string
                                                    fieldsV1:
                                                      type: object
                                                    operation:
                                                      type: string
                                                    apiVersion:
                                                      type: string
                                                    fieldsType:
                                                      type: string
                                                    subresource:
                                                      type: string
                                              ownerReferences:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    uid:
                                                      type: string
                                                    kind:
                                                      type: string
                                                    name:
                                                      type: string
                                                    apiVersion:
                                                      type: string
                                                    controller:
                                                      type: boolean
                                                    blockOwnerDeletion:
                                                      type: boolean
                                              resourceVersion:
                                                type: string
                                              creationTimestamp:
                                                type: string
                                                format: date-time
                                              deletionTimestamp:
                                                type: string
                                                format: date-time
                                              deletionGracePeriodSeconds:
                                                type: integer
                                                format: int64
                                  glusterfs:
                                    type: object
                                    properties:
                                      path:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      endpoints:
                                        type: string
                                  projected:
                                    type: object
                                    properties:
                                      sources:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            secret:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                items:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      key:
                                                        type: string
                                                      mode:
                                                        type: integer
                                                        format: int32
                                                      path:
                                                        type: string
                                                optional:
                                                  type: boolean
                                            configMap:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                items:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      key:
                                                        type: string
                                                      mode:
                                                        type: integer
                                                        format: int32
                                                      path:
                                                        type: string
                                                optional:
                                                  type: boolean
                                            downwardAPI:
                                              type: object
                                              properties:
                                                items:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      mode:
                                                        type: integer
                                                        format: int32
                                                      path:
                                                        type: string
                                                      fieldRef:
                                                        type: object
                                                        properties:
                                                          fieldPath:
                                                            type: string
                                                          apiVersion:
                                                            type: string
                                                      resourceFieldRef:
                                                        type: object
                                                        properties:
                                                          divisor:
                                                            type: string
                                                          resource:
                                                            type: string
                                                          containerName:
                                                            type: string
                                            serviceAccountToken:
                                              type: object
                                              properties:
                                                path:
                                                  type: string
                                                audience:
                                                  type: string
                                                expirationSeconds:
                                                  type: integer
                                                  format: int64
                                      defaultMode:
                                        type: integer
                                        format: int32
                                  storageos:
                                    type: object
                                    properties:
                                      fsType:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      secretRef:
                                        type: object
                                        properties:
                                          name:
                                            type: string
                                      volumeName:
                                        type: string
                                      volumeNamespace:
                                        type: string
                                  flexVolume:
                                    type: object
                                    properties:
                                      driver:
                                        type: string
                                      fsType:
                                        type: string
                                      options:
                                        type: object
                                        additionalProperties:
                                          type: string
                                      readOnly:
                                        type: boolean
                                      secretRef:
                                        type: object
                                        properties:
                                          name:
                                            type: string
                                  downwardAPI:
                                    type: object
                                    properties:
                                      items:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            mode:
                                              type: integer
                                              format: int32
                                            path:
                                              type: string
                                            fieldRef:
                                              type: object
                                              properties:
                                                fieldPath:
                                                  type: string
                                                apiVersion:
                                                  type: string
                                            resourceFieldRef:
                                              type: object
                                              properties:
                                                divisor:
                                                  type: string
                                                resource:
                                                  type: string
                                                containerName:
                                                  type: string
                                      defaultMode:
                                        type: integer
                                        format: int32
                                  vsphereVolume:
                                    type: object
                                    properties:
                                      fsType:
                                        type: string
                                      volumePath:
                                        type: string
                                      storagePolicyID:
                                        type: string
                                      storagePolicyName:
                                        type: string
                                  portworxVolume:
                                    type: object
                                    properties:
                                      fsType:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      volumeID:
                                        type: string
                                  gcePersistentDisk:
                                    type: object
                                    properties:
                                      fsType:
                                        type: string
                                      pdName:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      partition:
                                        type: integer
                                        format: int32
                                  awsElasticBlockStore:
                                    type: object
                                    properties:
                                      fsType:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      volumeID:
                                        type: string
                                      partition:
                                        type: integer
                                        format: int32
                                  photonPersistentDisk:
                                    type: object
                                    properties:
                                      pdID:
                                        type: string
                                      fsType:
                                        type: string
                                  persistentVolumeClaim:
                                    type: object
                                    properties:
                                      readOnly:
                                        type: boolean
                                      claimName:
                                        type: string
                            affinity:
                              type: object
                              properties:
                                podAffinity:
                                  type: object
                                  properties:
                                    requiredDuringSchedulingIgnoredDuringExecution:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          namespaces:
                                            type: array
                                            items:
                                              type: string
                                          topologyKey:
                                            type: string
                                          labelSelector:
                                            type: object
                                            properties:
                                              matchLabels:
                                                type: object
                                                additionalProperties:
                                                  type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    key:
                                                      type: string
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                    operator:
                                                      type: string
                                          namespaceSelector:
                                            type: object
                                            properties:
                                              matchLabels:
                                                type: object
                                                additionalProperties:
                                                  type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    key:
                                                      type: string
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                    operator:
                                                      type: string
                                    preferredDuringSchedulingIgnoredDuringExecution:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          weight:
                                            type: integer
                                            format: int32
                                          podAffinityTerm:
                                            type: object
                                            properties:
                                              namespaces:
                                                type: array
                                                items:
                                                  type: string
                                              topologyKey:
                                                type: string
                                              labelSelector:
                                                type: object
                                                properties:
                                                  matchLabels:
                                                    type: object
                                                    additionalProperties:
                                                      type: string
                                                  matchExpressions:
                                                    type: array
                                                    items:
                                                      type: object
                                                      properties:
                                                        key:
                                                          type: string
                                                        values:
                                                          type: array
                                                          items:
                                                            type: string
                                                        operator:
                                                          type: string
                                              namespaceSelector:
                                                type: object
                                                properties:
                                                  matchLabels:
                                                    type: object
                                                    additionalProperties:
                                                      type: string
                                                  matchExpressions:
                                                    type: array
                                                    items:
                                                      type: object
                                                      properties:
                                                        key:
                                                          type: string
                                                        values:
                                                          type: array
                                                          items:
                                                            type: string
                                                        operator:
                                                          type: string
                                nodeAffinity:
                                  type: object
                                  properties:
                                    requiredDuringSchedulingIgnoredDuringExecution:
                                      type: object
                                      properties:
                                        nodeSelectorTerms:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              matchFields:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    key:
                                                      type: string
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                    operator:
                                                      type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    key:
                                                      type: string
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                    operator:
                                                      type: string
                                    preferredDuringSchedulingIgnoredDuringExecution:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          weight:
                                            type: integer
                                            format: int32
                                          preference:
                                            type: object
                                            properties:
                                              matchFields:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    key:
                                                      type: string
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                    operator:
                                                      type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    key:
                                                      type: string
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                    operator:
                                                      type: string
                                podAntiAffinity:
                                  type: object
                                  properties:
                                    requiredDuringSchedulingIgnoredDuringExecution:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          namespaces:
                                            type: array
                                            items:
                                              type: string
                                          topologyKey:
                                            type: string
                                          labelSelector:
                                            type: object
                                            properties:
                                              matchLabels:
                                                type: object
                                                additionalProperties:
                                                  type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    key:
                                                      type: string
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                    operator:
                                                      type: string
                                          namespaceSelector:
                                            type: object
                                            properties:
                                              matchLabels:
                                                type: object
                                                additionalProperties:
                                                  type: string
                                              matchExpressions:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    key:
                                                      type: string
                                                    values:
                                                      type: array
                                                      items:
                                                        type: string
                                                    operator:
                                                      type: string
                                    preferredDuringSchedulingIgnoredDuringExecution:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          weight:
                                            type: integer
                                            format: int32
                                          podAffinityTerm:
                                            type: object
                                            properties:
                                              namespaces:
                                                type: array
                                                items:
                                                  type: string
                                              topologyKey:
                                                type: string
                                              labelSelector:
                                                type: object
                                                properties:
                                                  matchLabels:
                                                    type: object
                                                    additionalProperties:
                                                      type: string
                                                  matchExpressions:
                                                    type: array
                                                    items:
                                                      type: object
                                                      properties:
                                                        key:
                                                          type: string
                                                        values:
                                                          type: array
                                                          items:
                                                            type: string
                                                        operator:
                                                          type: string
                                              namespaceSelector:
                                                type: object
                                                properties:
                                                  matchLabels:
                                                    type: object
                                                    additionalProperties:
                                                      type: string
                                                  matchExpressions:
                                                    type: array
                                                    items:
                                                      type: object
                                                      properties:
                                                        key:
                                                          type: string
                                                        values:
                                                          type: array
                                                          items:
                                                            type: string
                                                        operator:
                                                          type: string
                            hostname:
                              type: string
                            nodeName:
                              type: string
                            overhead:
                              type: object
                              additionalProperties:
                                type: string
                            priority:
                              type: integer
                              format: int32
                            dnsConfig:
                              type: object
                              properties:
                                options:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                searches:
                                  type: array
                                  items:
                                    type: string
                                nameservers:
                                  type: array
                                  items:
                                    type: string
                            dnsPolicy:
                              type: string
                            hostUsers:
                              type: boolean
                            subdomain:
                              type: string
                            containers:
                              type: array
                              items:
                                type: object
                                properties:
                                  env:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                        valueFrom:
                                          type: object
                                          properties:
                                            fieldRef:
                                              type: object
                                              properties:
                                                fieldPath:
                                                  type: string
                                                apiVersion:
                                                  type: string
                                            secretKeyRef:
                                              type: object
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                            configMapKeyRef:
                                              type: object
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                            resourceFieldRef:
                                              type: object
                                              properties:
                                                divisor:
                                                  type: string
                                                resource:
                                                  type: string
                                                containerName:
                                                  type: string
                                  tty:
                                    type: boolean
                                  args:
                                    type: array
                                    items:
                                      type: string
                                  name:
                                    type: string
                                  image:
                                    type: string
                                  ports:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        hostIP:
                                          type: string
                                        hostPort:
                                          type: integer
                                          format: int32
                                        protocol:
                                          type: string
                                        containerPort:
                                          type: integer
                                          format: int32
                                  stdin:
                                    type: boolean
                                  command:
                                    type: array
                                    items:
                                      type: string
                                  envFrom:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        prefix:
                                          type: string
                                        secretRef:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                        configMapRef:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                  lifecycle:
                                    type: object
                                    properties:
                                      preStop:
                                        type: object
                                        properties:
                                          exec:
                                            type: object
                                            properties:
                                              command:
                                                type: array
                                                items:
                                                  type: string
                                          httpGet:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              path:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                              scheme:
                                                type: string
                                              httpHeaders:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                          tcpSocket:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                      postStart:
                                        type: object
                                        properties:
                                          exec:
                                            type: object
                                            properties:
                                              command:
                                                type: array
                                                items:
                                                  type: string
                                          httpGet:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              path:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                              scheme:
                                                type: string
                                              httpHeaders:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                          tcpSocket:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                  resources:
                                    type: object
                                    properties:
                                      claims:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                      limits:
                                        type: object
                                        additionalProperties:
                                          type: string
                                      requests:
                                        type: object
                                        additionalProperties:
                                          type: string
                                  stdinOnce:
                                    type: boolean
                                  workingDir:
                                    type: string
                                  resizePolicy:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        resourceName:
                                          type: string
                                        restartPolicy:
                                          type: string
                                  startupProbe:
                                    type: object
                                    properties:
                                      exec:
                                        type: object
                                        properties:
                                          command:
                                            type: array
                                            items:
                                              type: string
                                      grpc:
                                        type: object
                                        properties:
                                          port:
                                            type: integer
                                            format: int32
                                          service:
                                            type: string
                                      httpGet:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          path:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                          scheme:
                                            type: string
                                          httpHeaders:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                      tcpSocket:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                      periodSeconds:
                                        type: integer
                                        format: int32
                                      timeoutSeconds:
                                        type: integer
                                        format: int32
                                      failureThreshold:
                                        type: integer
                                        format: int32
                                      successThreshold:
                                        type: integer
                                        format: int32
                                      initialDelaySeconds:
                                        type: integer
                                        format: int32
                                      terminationGracePeriodSeconds:
                                        type: integer
                                        format: int64
                                  volumeMounts:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        subPath:
                                          type: string
                                        readOnly:
                                          type: boolean
                                        mountPath:
                                          type: string
                                        subPathExpr:
                                          type: string
                                        mountPropagation:
                                          type: string
                                  livenessProbe:
                                    type: object
                                    properties:
                                      exec:
                                        type: object
                                        properties:
                                          command:
                                            type: array
                                            items:
                                              type: string
                                      grpc:
                                        type: object
                                        properties:
                                          port:
                                            type: integer
                                            format: int32
                                          service:
                                            type: string
                                      httpGet:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          path:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                          scheme:
                                            type: string
                                          httpHeaders:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                      tcpSocket:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                      periodSeconds:
                                        type: integer
                                        format: int32
                                      timeoutSeconds:
                                        type: integer
                                        format: int32
                                      failureThreshold:
                                        type: integer
                                        format: int32
                                      successThreshold:
                                        type: integer
                                        format: int32
                                      initialDelaySeconds:
                                        type: integer
                                        format: int32
                                      terminationGracePeriodSeconds:
                                        type: integer
                                        format: int64
                                  restartPolicy:
                                    type: string
                                  volumeDevices:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        devicePath:
                                          type: string
                                  readinessProbe:
                                    type: object
                                    properties:
                                      exec:
                                        type: object
                                        properties:
                                          command:
                                            type: array
                                            items:
                                              type: string
                                      grpc:
                                        type: object
                                        properties:
                                          port:
                                            type: integer
                                            format: int32
                                          service:
                                            type: string
                                      httpGet:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          path:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                          scheme:
                                            type: string
                                          httpHeaders:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                      tcpSocket:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                      periodSeconds:
                                        type: integer
                                        format: int32
                                      timeoutSeconds:
                                        type: integer
                                        format: int32
                                      failureThreshold:
                                        type: integer
                                        format: int32
                                      successThreshold:
                                        type: integer
                                        format: int32
                                      initialDelaySeconds:
                                        type: integer
                                        format: int32
                                      terminationGracePeriodSeconds:
                                        type: integer
                                        format: int64
                                  imagePullPolicy:
                                    type: string
                                  securityContext:
                                    type: object
                                    properties:
                                      procMount:
                                        type: string
                                      runAsUser:
                                        type: integer
                                        format: int64
                                      privileged:
                                        type: boolean
                                      runAsGroup:
                                        type: integer
                                        format: int64
                                      capabilities:
                                        type: object
                                        properties:
                                          add:
                                            type: array
                                            items:
                                              type: string
                                          drop:
                                            type: array
                                            items:
                                              type: string
                                      runAsNonRoot:
                                        type: boolean
                                      seLinuxOptions:
                                        type: object
                                        properties:
                                          role:
                                            type: string
                                          type:
                                            type: string
                                          user:
                                            type: string
                                          level:
                                            type: string
                                      seccompProfile:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                          localhostProfile:
                                            type: string
                                      windowsOptions:
                                        type: object
                                        properties:
                                          hostProcess:
                                            type: boolean
                                          runAsUserName:
                                            type: string
                                          gmsaCredentialSpec:
                                            type: string
                                          gmsaCredentialSpecName:
                                            type: string
                                      readOnlyRootFilesystem:
                                        type: boolean
                                      allowPrivilegeEscalation:
                                        type: boolean
                                  terminationMessagePath:
                                    type: string
                                  terminationMessagePolicy:
                                    type: string
                            hostAliases:
                              type: array
                              items:
                                type: object
                                properties:
                                  ip:
                                    type: string
                                  hostnames:
                                    type: array
                                    items:
                                      type: string
                            hostNetwork:
                              type: boolean
                            tolerations:
                              type: array
                              items:
                                type: object
                                properties:
                                  key:
                                    type: string
                                  value:
                                    type: string
                                  effect:
                                    type: string
                                  operator:
                                    type: string
                                  tolerationSeconds:
                                    type: integer
                                    format: int64
                            nodeSelector:
                              type: object
                              additionalProperties:
                                type: string
                            restartPolicy:
                              type: string
                            schedulerName:
                              type: string
                            initContainers:
                              type: array
                              items:
                                type: object
                                properties:
                                  env:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                        valueFrom:
                                          type: object
                                          properties:
                                            fieldRef:
                                              type: object
                                              properties:
                                                fieldPath:
                                                  type: string
                                                apiVersion:
                                                  type: string
                                            secretKeyRef:
                                              type: object
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                            configMapKeyRef:
                                              type: object
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                            resourceFieldRef:
                                              type: object
                                              properties:
                                                divisor:
                                                  type: string
                                                resource:
                                                  type: string
                                                containerName:
                                                  type: string
                                  tty:
                                    type: boolean
                                  args:
                                    type: array
                                    items:
                                      type: string
                                  name:
                                    type: string
                                  image:
                                    type: string
                                  ports:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        hostIP:
                                          type: string
                                        hostPort:
                                          type: integer
                                          format: int32
                                        protocol:
                                          type: string
                                        containerPort:
                                          type: integer
                                          format: int32
                                  stdin:
                                    type: boolean
                                  command:
                                    type: array
                                    items:
                                      type: string
                                  envFrom:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        prefix:
                                          type: string
                                        secretRef:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                        configMapRef:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                  lifecycle:
                                    type: object
                                    properties:
                                      preStop:
                                        type: object
                                        properties:
                                          exec:
                                            type: object
                                            properties:
                                              command:
                                                type: array
                                                items:
                                                  type: string
                                          httpGet:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              path:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                              scheme:
                                                type: string
                                              httpHeaders:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                          tcpSocket:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                      postStart:
                                        type: object
                                        properties:
                                          exec:
                                            type: object
                                            properties:
                                              command:
                                                type: array
                                                items:
                                                  type: string
                                          httpGet:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              path:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                              scheme:
                                                type: string
                                              httpHeaders:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                          tcpSocket:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                  resources:
                                    type: object
                                    properties:
                                      claims:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                      limits:
                                        type: object
                                        additionalProperties:
                                          type: string
                                      requests:
                                        type: object
                                        additionalProperties:
                                          type: string
                                  stdinOnce:
                                    type: boolean
                                  workingDir:
                                    type: string
                                  resizePolicy:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        resourceName:
                                          type: string
                                        restartPolicy:
                                          type: string
                                  startupProbe:
                                    type: object
                                    properties:
                                      exec:
                                        type: object
                                        properties:
                                          command:
                                            type: array
                                            items:
                                              type: string
                                      grpc:
                                        type: object
                                        properties:
                                          port:
                                            type: integer
                                            format: int32
                                          service:
                                            type: string
                                      httpGet:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          path:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                          scheme:
                                            type: string
                                          httpHeaders:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                      tcpSocket:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                      periodSeconds:
                                        type: integer
                                        format: int32
                                      timeoutSeconds:
                                        type: integer
                                        format: int32
                                      failureThreshold:
                                        type: integer
                                        format: int32
                                      successThreshold:
                                        type: integer
                                        format: int32
                                      initialDelaySeconds:
                                        type: integer
                                        format: int32
                                      terminationGracePeriodSeconds:
                                        type: integer
                                        format: int64
                                  volumeMounts:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        subPath:
                                          type: string
                                        readOnly:
                                          type: boolean
                                        mountPath:
                                          type: string
                                        subPathExpr:
                                          type: string
                                        mountPropagation:
                                          type: string
                                  livenessProbe:
                                    type: object
                                    properties:
                                      exec:
                                        type: object
                                        properties:
                                          command:
                                            type: array
                                            items:
                                              type: string
                                      grpc:
                                        type: object
                                        properties:
                                          port:
                                            type: integer
                                            format: int32
                                          service:
                                            type: string
                                      httpGet:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          path:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                          scheme:
                                            type: string
                                          httpHeaders:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                      tcpSocket:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                      periodSeconds:
                                        type: integer
                                        format: int32
                                      timeoutSeconds:
                                        type: integer
                                        format: int32
                                      failureThreshold:
                                        type: integer
                                        format: int32
                                      successThreshold:
                                        type: integer
                                        format: int32
                                      initialDelaySeconds:
                                        type: integer
                                        format: int32
                                      terminationGracePeriodSeconds:
                                        type: integer
                                        format: int64
                                  restartPolicy:
                                    type: string
                                  volumeDevices:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        devicePath:
                                          type: string
                                  readinessProbe:
                                    type: object
                                    properties:
                                      exec:
                                        type: object
                                        properties:
                                          command:
                                            type: array
                                            items:
                                              type: string
                                      grpc:
                                        type: object
                                        properties:
                                          port:
                                            type: integer
                                            format: int32
                                          service:
                                            type: string
                                      httpGet:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          path:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                          scheme:
                                            type: string
                                          httpHeaders:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                      tcpSocket:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                      periodSeconds:
                                        type: integer
                                        format: int32
                                      timeoutSeconds:
                                        type: integer
                                        format: int32
                                      failureThreshold:
                                        type: integer
                                        format: int32
                                      successThreshold:
                                        type: integer
                                        format: int32
                                      initialDelaySeconds:
                                        type: integer
                                        format: int32
                                      terminationGracePeriodSeconds:
                                        type: integer
                                        format: int64
                                  imagePullPolicy:
                                    type: string
                                  securityContext:
                                    type: object
                                    properties:
                                      procMount:
                                        type: string
                                      runAsUser:
                                        type: integer
                                        format: int64
                                      privileged:
                                        type: boolean
                                      runAsGroup:
                                        type: integer
                                        format: int64
                                      capabilities:
                                        type: object
                                        properties:
                                          add:
                                            type: array
                                            items:
                                              type: string
                                          drop:
                                            type: array
                                            items:
                                              type: string
                                      runAsNonRoot:
                                        type: boolean
                                      seLinuxOptions:
                                        type: object
                                        properties:
                                          role:
                                            type: string
                                          type:
                                            type: string
                                          user:
                                            type: string
                                          level:
                                            type: string
                                      seccompProfile:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                          localhostProfile:
                                            type: string
                                      windowsOptions:
                                        type: object
                                        properties:
                                          hostProcess:
                                            type: boolean
                                          runAsUserName:
                                            type: string
                                          gmsaCredentialSpec:
                                            type: string
                                          gmsaCredentialSpecName:
                                            type: string
                                      readOnlyRootFilesystem:
                                        type: boolean
                                      allowPrivilegeEscalation:
                                        type: boolean
                                  terminationMessagePath:
                                    type: string
                                  terminationMessagePolicy:
                                    type: string
                            readinessGates:
                              type: array
                              items:
                                type: object
                                properties:
                                  conditionType:
                                    type: string
                            resourceClaims:
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                                  source:
                                    type: object
                                    properties:
                                      resourceClaimName:
                                        type: string
                                      resourceClaimTemplateName:
                                        type: string
                            serviceAccount:
                              type: string
                            schedulingGates:
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                            securityContext:
                              type: object
                              properties:
                                fsGroup:
                                  type: integer
                                  format: int64
                                sysctls:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                runAsUser:
                                  type: integer
                                  format: int64
                                runAsGroup:
                                  type: integer
                                  format: int64
                                runAsNonRoot:
                                  type: boolean
                                seLinuxOptions:
                                  type: object
                                  properties:
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                    level:
                                      type: string
                                seccompProfile:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                    localhostProfile:
                                      type: string
                                windowsOptions:
                                  type: object
                                  properties:
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                supplementalGroups:
                                  type: array
                                  items:
                                    type: integer
                                    format: int64
                                fsGroupChangePolicy:
                                  type: string
                            imagePullSecrets:
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                            preemptionPolicy:
                              type: string
                            runtimeClassName:
                              type: string
                            priorityClassName:
                              type: string
                            setHostnameAsFQDN:
                              type: boolean
                            enableServiceLinks:
                              type: boolean
                            serviceAccountName:
                              type: string
                            ephemeralContainers:
                              type: array
                              items:
                                type: object
                                properties:
                                  env:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                        valueFrom:
                                          type: object
                                          properties:
                                            fieldRef:
                                              type: object
                                              properties:
                                                fieldPath:
                                                  type: string
                                                apiVersion:
                                                  type: string
                                            secretKeyRef:
                                              type: object
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                            configMapKeyRef:
                                              type: object
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                            resourceFieldRef:
                                              type: object
                                              properties:
                                                divisor:
                                                  type: string
                                                resource:
                                                  type: string
                                                containerName:
                                                  type: string
                                  tty:
                                    type: boolean
                                  args:
                                    type: array
                                    items:
                                      type: string
                                  name:
                                    type: string
                                  image:
                                    type: string
                                  ports:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        hostIP:
                                          type: string
                                        hostPort:
                                          type: integer
                                          format: int32
                                        protocol:
                                          type: string
                                        containerPort:
                                          type: integer
                                          format: int32
                                  stdin:
                                    type: boolean
                                  command:
                                    type: array
                                    items:
                                      type: string
                                  envFrom:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        prefix:
                                          type: string
                                        secretRef:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                        configMapRef:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                  lifecycle:
                                    type: object
                                    properties:
                                      preStop:
                                        type: object
                                        properties:
                                          exec:
                                            type: object
                                            properties:
                                              command:
                                                type: array
                                                items:
                                                  type: string
                                          httpGet:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              path:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                              scheme:
                                                type: string
                                              httpHeaders:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                          tcpSocket:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                      postStart:
                                        type: object
                                        properties:
                                          exec:
                                            type: object
                                            properties:
                                              command:
                                                type: array
                                                items:
                                                  type: string
                                          httpGet:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              path:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                              scheme:
                                                type: string
                                              httpHeaders:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                          tcpSocket:
                                            type: object
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                type: string
                                                format: int-or-string
                                  resources:
                                    type: object
                                    properties:
                                      claims:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            name:
                                              type: string
                                      limits:
                                        type: object
                                        additionalProperties:
                                          type: string
                                      requests:
                                        type: object
                                        additionalProperties:
                                          type: string
                                  stdinOnce:
                                    type: boolean
                                  workingDir:
                                    type: string
                                  resizePolicy:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        resourceName:
                                          type: string
                                        restartPolicy:
                                          type: string
                                  startupProbe:
                                    type: object
                                    properties:
                                      exec:
                                        type: object
                                        properties:
                                          command:
                                            type: array
                                            items:
                                              type: string
                                      grpc:
                                        type: object
                                        properties:
                                          port:
                                            type: integer
                                            format: int32
                                          service:
                                            type: string
                                      httpGet:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          path:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                          scheme:
                                            type: string
                                          httpHeaders:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                      tcpSocket:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                      periodSeconds:
                                        type: integer
                                        format: int32
                                      timeoutSeconds:
                                        type: integer
                                        format: int32
                                      failureThreshold:
                                        type: integer
                                        format: int32
                                      successThreshold:
                                        type: integer
                                        format: int32
                                      initialDelaySeconds:
                                        type: integer
                                        format: int32
                                      terminationGracePeriodSeconds:
                                        type: integer
                                        format: int64
                                  volumeMounts:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        subPath:
                                          type: string
                                        readOnly:
                                          type: boolean
                                        mountPath:
                                          type: string
                                        subPathExpr:
                                          type: string
                                        mountPropagation:
                                          type: string
                                  livenessProbe:
                                    type: object
                                    properties:
                                      exec:
                                        type: object
                                        properties:
                                          command:
                                            type: array
                                            items:
                                              type: string
                                      grpc:
                                        type: object
                                        properties:
                                          port:
                                            type: integer
                                            format: int32
                                          service:
                                            type: string
                                      httpGet:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          path:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                          scheme:
                                            type: string
                                          httpHeaders:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                      tcpSocket:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                      periodSeconds:
                                        type: integer
                                        format: int32
                                      timeoutSeconds:
                                        type: integer
                                        format: int32
                                      failureThreshold:
                                        type: integer
                                        format: int32
                                      successThreshold:
                                        type: integer
                                        format: int32
                                      initialDelaySeconds:
                                        type: integer
                                        format: int32
                                      terminationGracePeriodSeconds:
                                        type: integer
                                        format: int64
                                  restartPolicy:
                                    type: string
                                  volumeDevices:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        devicePath:
                                          type: string
                                  readinessProbe:
                                    type: object
                                    properties:
                                      exec:
                                        type: object
                                        properties:
                                          command:
                                            type: array
                                            items:
                                              type: string
                                      grpc:
                                        type: object
                                        properties:
                                          port:
                                            type: integer
                                            format: int32
                                          service:
                                            type: string
                                      httpGet:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          path:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                          scheme:
                                            type: string
                                          httpHeaders:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                      tcpSocket:
                                        type: object
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            type: string
                                            format: int-or-string
                                      periodSeconds:
                                        type: integer
                                        format: int32
                                      timeoutSeconds:
                                        type: integer
                                        format: int32
                                      failureThreshold:
                                        type: integer
                                        format: int32
                                      successThreshold:
                                        type: integer
                                        format: int32
                                      initialDelaySeconds:
                                        type: integer
                                        format: int32
                                      terminationGracePeriodSeconds:
                                        type: integer
                                        format: int64
                                  imagePullPolicy:
                                    type: string
                                  securityContext:
                                    type: object
                                    properties:
                                      procMount:
                                        type: string
                                      runAsUser:
                                        type: integer
                                        format: int64
                                      privileged:
                                        type: boolean
                                      runAsGroup:
                                        type: integer
                                        format: int64
                                      capabilities:
                                        type: object
                                        properties:
                                          add:
                                            type: array
                                            items:
                                              type: string
                                          drop:
                                            type: array
                                            items:
                                              type: string
                                      runAsNonRoot:
                                        type: boolean
                                      seLinuxOptions:
                                        type: object
                                        properties:
                                          role:
                                            type: string
                                          type:
                                            type: string
                                          user:
                                            type: string
                                          level:
                                            type: string
                                      seccompProfile:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                          localhostProfile:
                                            type: string
                                      windowsOptions:
                                        type: object
                                        properties:
                                          hostProcess:
                                            type: boolean
                                          runAsUserName:
                                            type: string
                                          gmsaCredentialSpec:
                                            type: string
                                          gmsaCredentialSpecName:
                                            type: string
                                      readOnlyRootFilesystem:
                                        type: boolean
                                      allowPrivilegeEscalation:
                                        type: boolean
                                  targetContainerName:
                                    type: string
                                  terminationMessagePath:
                                    type: string
                                  terminationMessagePolicy:
                                    type: string
                            activeDeadlineSeconds:
                              type: integer
                              format: int64
                            shareProcessNamespace:
                              type: boolean
                            topologySpreadConstraints:
                              type: array
                              items:
                                type: object
                                properties:
                                  maxSkew:
                                    type: integer
                                    format: int32
                                  minDomains:
                                    type: integer
                                    format: int32
                                  topologyKey:
                                    type: string
                                  labelSelector:
                                    type: object
                                    properties:
                                      matchLabels:
                                        type: object
                                        additionalProperties:
                                          type: string
                                      matchExpressions:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            key:
                                              type: string
                                            values:
                                              type: array
                                              items:
                                                type: string
                                            operator:
                                              type: string
                                  matchLabelKeys:
                                    type: array
                                    items:
                                      type: string
                                  nodeTaintsPolicy:
                                    type: string
                                  whenUnsatisfiable:
                                    type: string
                                  nodeAffinityPolicy:
                                    type: string
                            automountServiceAccountToken:
                              type: boolean
                            terminationGracePeriodSeconds:
                              type: integer
                              format: int64
                        metadata:
                          type: object
                          properties:
                            uid:
                              type: string
                            name:
                              type: string
                            labels:
                              type: object
                              additionalProperties:
                                type: string
                            selfLink:
                              type: string
                            namespace:
                              type: string
                            finalizers:
                              type: array
                              items:
                                type: string
                            generation:
                              type: integer
                              format: int64
                            annotations:
                              type: object
                              additionalProperties:
                                type: string
                            generateName:
                              type: string
                            managedFields:
                              type: array
                              items:
                                type: object
                                properties:
                                  time:
                                    type: string
                                    format: date-time
                                  manager:
                                    type: string
                                  fieldsV1:
                                    type: object
                                  operation:
                                    type: string
                                  apiVersion:
                                    type: string
                                  fieldsType:
                                    type: string
                                  subresource:
                                    type: string
                            ownerReferences:
                              type: array
                              items:
                                type: object
                                properties:
                                  uid:
                                    type: string
                                  kind:
                                    type: string
                                  name:
                                    type: string
                                  apiVersion:
                                    type: string
                                  controller:
                                    type: boolean
                                  blockOwnerDeletion:
                                    type: boolean
                            resourceVersion:
                              type: string
                            creationTimestamp:
                              type: string
                              format: date-time
                            deletionTimestamp:
                              type: string
                              format: date-time
                            deletionGracePeriodSeconds:
                              type: integer
                              format: int64
                      description: In the `podOverrides` property you can define a
                        [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core)
                        to override any property that can be set on a Kubernetes
                        Pod. Read the [Pod overrides
                        documentation](https://docs.stackable.tech/home/24.3/concepts/overrides#pod-overrides)
                        for more information.
                    configOverrides:
                      type: object
                      default: {}
                      description: The `configOverrides` can be used to configure properties in
                        product config files that are not exposed in the CRD.
                        Read the [config overrides
                        documentation](https://docs.stackable.tech/home/24.3/concepts/overrides#config-overrides)
                        and consult the operator specific usage guide
                        documentation for details on the available config files
                        and settings for the specific product.
                      additionalProperties:
                        type: object
                        additionalProperties:
                          type: string
                  description: This struct represents a role - e.g. HDFS datanodes or Trino
                    workers. It has a key-value-map containing all the
                    roleGroups that are part of this role. Additionally, there
                    is a `config`, which is configurable at the role *and*
                    roleGroup level. Everything at roleGroup level is merged on
                    top of what is configured on role level. There is also a
                    second form of config, which can only be configured at role
                    level, the `roleConfig`. You can learn more about this in
                    the [Roles and role group concept
                    documentation](https://docs.stackable.tech/home/24.3/concepts/roles-and-role-groups).
                clusterConfig:
                  type: object
                  default:
                    tls:
                      quorumSecretClass: tls
                      serverSecretClass: tls
                    listenerClass: cluster-internal
                    authentication: []
                  properties:
                    tls:
                      type: object
                      default:
                        quorumSecretClass: tls
                        serverSecretClass: tls
                      nullable: true
                      properties:
                        quorumSecretClass:
                          type: string
                          default: tls
                          description: "The
                            [SecretClass](https://docs.stackable.tech/home/24.3/secret-ope\
                            rator/secretclass) to use for internal quorum
                            communication. Use mutual verification between
                            Zookeeper Nodes (mandatory). This setting controls:
                            - Which cert the servers should use to authenticate
                            themselves against other servers - Which ca.crt to
                            use when validating the other server Defaults to
                            `tls`"
                        serverSecretClass:
                          type: string
                          default: tls
                          nullable: true
                          description: "The
                            [SecretClass](https://docs.stackable.tech/home/24.3/secret-ope\
                            rator/secretclass) to use for client connections.
                            This setting controls: - If TLS encryption is used
                            at all - Which cert the servers should use to
                            authenticate themselves against the client Defaults
                            to `tls`."
                      description: TLS encryption settings for ZooKeeper (server, quorum). Read more
                        in the [encryption usage
                        guide](https://docs.stackable.tech/home/24.3/zookeeper/usage_guide/encryption).
                    listenerClass:
                      enum:
                        - cluster-internal
                        - external-unstable
                      type: string
                      default: cluster-internal
                      description: |-
                        This field controls which type of Service the Operator creates for this ZookeeperCluster:

                        * cluster-internal: Use a ClusterIP service

                        * external-unstable: Use a NodePort service

                        This is a temporary solution with the goal to keep yaml manifests forward compatible. In the future, this setting will control which [ListenerClass](https://docs.stackable.tech/home/24.3/listener-operator/listenerclass.html) will be used to expose the service, and ListenerClass names will stay the same, allowing for a non-breaking change.
                    authentication:
                      type: array
                      items:
                        type: object
                        required:
                          - authenticationClass
                        properties:
                          authenticationClass:
                            type: string
                            description: |-
                              The [AuthenticationClass](https://docs.stackable.tech/home/stable/concepts/authentication) to use.

                              ## mTLS

                              Only affects client connections. This setting controls: - If clients need to authenticate themselves against the server via TLS - Which ca.crt to use when validating the provided client certs This will override the server TLS settings (if set) in `spec.clusterConfig.tls.serverSecretClass`.
                      default: []
                      description: Authentication settings for ZooKeeper like mTLS authentication.
                        Read more in the [authentication usage
                        guide](https://docs.stackable.tech/home/24.3/zookeeper/usage_guide/authentication).
                    vectorAggregatorConfigMapName:
                      type: string
                      nullable: true
                      description: Name of the Vector aggregator [discovery
                        ConfigMap](https://docs.stackable.tech/home/24.3/concepts/service_discovery).
                        It must contain the key `ADDRESS` with the address of
                        the Vector aggregator. Follow the [logging
                        tutorial](https://docs.stackable.tech/home/24.3/tutorials/logging-vector-aggregator)
                        to learn how to configure log aggregation with Vector.
                  description: Settings that affect all roles and role groups. The settings in the
                    `clusterConfig` are cluster wide settings that do not need
                    to be configurable at role or role group level.
                clusterOperation:
                  type: object
                  default:
                    stopped: false
                    reconciliationPaused: false
                  properties:
                    stopped:
                      type: boolean
                      default: false
                      description: Flag to stop the cluster. This means all deployed resources (e.g.
                        Services, StatefulSets, ConfigMaps) are kept but all
                        deployed Pods (e.g. replicas from a StatefulSet) are
                        scaled to 0 and therefore stopped and removed. If
                        applied at the same time with `reconciliationPaused`,
                        the latter will pause reconciliation and `stopped` will
                        take no effect until `reconciliationPaused` is set to
                        false or removed.
                    reconciliationPaused:
                      type: boolean
                      default: false
                      description: Flag to stop cluster reconciliation by the operator. This means
                        that all changes in the custom resource spec are ignored
                        until this flag is set to false or removed. The operator
                        will however still watch the deployed resources at the
                        time and update the custom resource status field. If
                        applied at the same time with `stopped`,
                        `reconciliationPaused` will take precedence over
                        `stopped` and stop the reconciliation immediately.
                  description: "[Cluster
                    operations](https://docs.stackable.tech/home/24.3/concepts/\
                    operations/cluster_operations) properties, allow stopping
                    the product instance as well as pausing reconciliation."
              description: A ZooKeeper cluster stacklet. This resource is managed by the
                Stackable operator for Apache ZooKeeper. Find more information
                on how to use it and the resources that the operator generates
                in the [operator
                documentation](https://docs.stackable.tech/home/24.3/zookeeper/).
            status:
              type: object
              nullable: true
              properties:
                conditions:
                  type: array
                  items:
                    type: object
                    required:
                      - status
                      - type
                    properties:
                      type:
                        enum:
                          - Available
                          - Degraded
                          - Progressing
                          - ReconciliationPaused
                          - Stopped
                        type: string
                        description: Type of deployment condition.
                      reason:
                        type: string
                        nullable: true
                        description: The reason for the condition's last transition.
                      status:
                        enum:
                          - "True"
                          - "False"
                          - Unknown
                        type: string
                        description: Status of the condition, one of True, False, Unknown.
                      message:
                        type: string
                        nullable: true
                        description: A human readable message indicating details about the transition.
                      lastUpdateTime:
                        type: string
                        format: date-time
                        nullable: true
                        description: The last time this condition was updated.
                      lastTransitionTime:
                        type: string
                        format: date-time
                        nullable: true
                        description: Last time the condition transitioned from one status to another.
                  default: []
                discoveryHash:
                  type: string
                  nullable: true
                  description: An opaque value that changes every time a discovery detail does
          description: Auto-generated derived type for ZookeeperClusterSpec via
            `CustomResource`
      served: true
      storage: true
      subresources:
        status: {}
      additionalPrinterColumns: []
metadata:
  name: zookeeperclusters.zookeeper.stackable.tech
  annotations:
    helm.sh/resource-policy: keep
apiVersion: apiextensions.k8s.io/v1
