kind: CustomResourceDefinition
spec:
  group: opa.stackable.tech
  names:
    kind: OpaCluster
    plural: opaclusters
    singular: opacluster
    categories: []
    shortNames:
      - opa
  scope: Namespaced
  versions:
    - name: v1alpha2
      schema:
        openAPIV3Schema:
          type: object
          title: OpaCluster
          required:
            - spec
          properties:
            spec:
              type: object
              required:
                - image
                - servers
              properties:
                image:
                  type: object
                  anyOf:
                    - required:
                        - custom
                        - productVersion
                    - required:
                        - productVersion
                  properties:
                    repo:
                      type: string
                      nullable: true
                      description: Name of the docker repo, e.g. `oci.stackable.tech/sdp`
                    custom:
                      type: string
                      description: >-
                        Overwrite the docker image.

                        Specify the full docker image name, e.g.
                        `oci.stackable.tech/sdp/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
                        required:
                          - name
                        properties:
                          name:
                            type: string
                            description: "Name of the referent. This field is effectively required, but due
                              to backwards compatibility is allowed to be empty.
                              Instances of this type with an empty value here
                              are almost certainly wrong. 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: The OPA image to use
                servers:
                  type: object
                  required:
                    - roleGroups
                  properties:
                    config:
                      type: object
                      default: {}
                      properties:
                        logging:
                          type: object
                          default:
                            containers: {}
                            enableVectorAgent: null
                          properties:
                            containers:
                              type: object
                              properties:
                                opa:
                                  type: object
                                  anyOf:
                                    - required:
                                        - custom
                                    - {}
                                    - {}
                                  properties:
                                    file:
                                      type: object
                                      nullable: true
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                            - null
                                          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
                                            - null
                                          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
                                              - null
                                            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
                                vector:
                                  type: object
                                  anyOf:
                                    - required:
                                        - custom
                                    - {}
                                    - {}
                                  properties:
                                    file:
                                      type: object
                                      nullable: true
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                            - null
                                          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
                                            - null
                                          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
                                              - null
                                            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
                                prepare:
                                  type: object
                                  anyOf:
                                    - required:
                                        - custom
                                    - {}
                                    - {}
                                  properties:
                                    file:
                                      type: object
                                      nullable: true
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                            - null
                                          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
                                            - null
                                          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
                                              - null
                                            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
                                bundle-builder:
                                  type: object
                                  anyOf:
                                    - required:
                                        - custom
                                    - {}
                                    - {}
                                  properties:
                                    file:
                                      type: object
                                      nullable: true
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                            - null
                                          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
                                            - null
                                          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
                                              - null
                                            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
                                user-info-fetcher:
                                  type: object
                                  anyOf:
                                    - required:
                                        - custom
                                    - {}
                                    - {}
                                  properties:
                                    file:
                                      type: object
                                      nullable: true
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                            - null
                                          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
                                            - null
                                          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
                                              - null
                                            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
                              description: Log configuration per 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/26.3/concepts/logging).
                        affinity:
                          type: object
                          default:
                            podAffinity: null
                            nodeAffinity: null
                            nodeSelector: null
                            podAntiAffinity: null
                          properties:
                            podAffinity:
                              type: object
                              nullable: true
                              description: Same as the `spec.affinity.podAffinity` field on the Pod, see the
                                [Kubernetes
                                docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                              x-kubernetes-preserve-unknown-fields: true
                            nodeAffinity:
                              type: object
                              nullable: true
                              description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the
                                [Kubernetes
                                docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                              x-kubernetes-preserve-unknown-fields: true
                            nodeSelector:
                              type: object
                              nullable: true
                              description: Simple key-value pairs forming a nodeSelector, see the [Kubernetes
                                docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                              additionalProperties:
                                type: string
                            podAntiAffinity:
                              type: object
                              nullable: true
                              description: Same as the `spec.affinity.podAntiAffinity` field on the Pod, see
                                the [Kubernetes
                                docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                              x-kubernetes-preserve-unknown-fields: true
                          description: |-
                            These configuration settings control
                            [Pod placement](https://docs.stackable.tech/home/26.3/concepts/operations/pod_placement).
                        resources:
                          type: object
                          default:
                            cpu:
                              max: null
                              min: null
                            memory:
                              limit: null
                              runtimeLimits: {}
                            storage: {}
                          properties:
                            cpu:
                              type: object
                              default:
                                max: null
                                min: null
                              properties:
                                max:
                                  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`.
                                  x-kubernetes-int-or-string: true
                                min:
                                  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`.
                                  x-kubernetes-int-or-string: true
                            memory:
                              type: object
                              properties:
                                limit:
                                  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-definitions/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`
                                  x-kubernetes-int-or-string: true
                                runtimeLimits:
                                  type: object
                                  description: Additional options that can be specified.
                            storage:
                              type: object
                          description: >-
                            Resource usage is configured here, this includes CPU
                            usage, memory usage and disk storage

                            usage, if this role needs any.
                        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: {}
                      description: >-
                        This is a product-agnostic RoleConfig, with nothing in
                        it. It is used e.g. by products that have

                        nothing configurable at role level.
                    roleGroups:
                      type: object
                      additionalProperties:
                        type: object
                        properties:
                          config:
                            type: object
                            default: {}
                            properties:
                              logging:
                                type: object
                                default:
                                  containers: {}
                                  enableVectorAgent: null
                                properties:
                                  containers:
                                    type: object
                                    properties:
                                      opa:
                                        type: object
                                        anyOf:
                                          - required:
                                              - custom
                                          - {}
                                          - {}
                                        properties:
                                          file:
                                            type: object
                                            nullable: true
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                  - null
                                                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
                                                  - null
                                                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
                                                    - null
                                                  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
                                      vector:
                                        type: object
                                        anyOf:
                                          - required:
                                              - custom
                                          - {}
                                          - {}
                                        properties:
                                          file:
                                            type: object
                                            nullable: true
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                  - null
                                                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
                                                  - null
                                                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
                                                    - null
                                                  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
                                      prepare:
                                        type: object
                                        anyOf:
                                          - required:
                                              - custom
                                          - {}
                                          - {}
                                        properties:
                                          file:
                                            type: object
                                            nullable: true
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                  - null
                                                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
                                                  - null
                                                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
                                                    - null
                                                  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
                                      bundle-builder:
                                        type: object
                                        anyOf:
                                          - required:
                                              - custom
                                          - {}
                                          - {}
                                        properties:
                                          file:
                                            type: object
                                            nullable: true
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                  - null
                                                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
                                                  - null
                                                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
                                                    - null
                                                  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
                                      user-info-fetcher:
                                        type: object
                                        anyOf:
                                          - required:
                                              - custom
                                          - {}
                                          - {}
                                        properties:
                                          file:
                                            type: object
                                            nullable: true
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                  - null
                                                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
                                                  - null
                                                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
                                                    - null
                                                  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
                                    description: Log configuration per 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/26.3/concepts/logging).
                              affinity:
                                type: object
                                default:
                                  podAffinity: null
                                  nodeAffinity: null
                                  nodeSelector: null
                                  podAntiAffinity: null
                                properties:
                                  podAffinity:
                                    type: object
                                    nullable: true
                                    description: Same as the `spec.affinity.podAffinity` field on the Pod, see the
                                      [Kubernetes
                                      docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                                    x-kubernetes-preserve-unknown-fields: true
                                  nodeAffinity:
                                    type: object
                                    nullable: true
                                    description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the
                                      [Kubernetes
                                      docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                                    x-kubernetes-preserve-unknown-fields: true
                                  nodeSelector:
                                    type: object
                                    nullable: true
                                    description: Simple key-value pairs forming a nodeSelector, see the [Kubernetes
                                      docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                                    additionalProperties:
                                      type: string
                                  podAntiAffinity:
                                    type: object
                                    nullable: true
                                    description: Same as the `spec.affinity.podAntiAffinity` field on the Pod, see
                                      the [Kubernetes
                                      docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                                    x-kubernetes-preserve-unknown-fields: true
                                description: |-
                                  These configuration settings control
                                  [Pod placement](https://docs.stackable.tech/home/26.3/concepts/operations/pod_placement).
                              resources:
                                type: object
                                default:
                                  cpu:
                                    max: null
                                    min: null
                                  memory:
                                    limit: null
                                    runtimeLimits: {}
                                  storage: {}
                                properties:
                                  cpu:
                                    type: object
                                    default:
                                      max: null
                                      min: null
                                    properties:
                                      max:
                                        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`.
                                        x-kubernetes-int-or-string: true
                                      min:
                                        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`.
                                        x-kubernetes-int-or-string: true
                                  memory:
                                    type: object
                                    properties:
                                      limit:
                                        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-definitions/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`
                                        x-kubernetes-int-or-string: true
                                      runtimeLimits:
                                        type: object
                                        description: Additional options that can be specified.
                                  storage:
                                    type: object
                                description: >-
                                  Resource usage is configured here, this
                                  includes CPU usage, memory usage and disk
                                  storage

                                  usage, if this role needs any.
                              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
                            maximum: 65535
                            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/26.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: {}
                            description: |-
                              In the `podOverrides` property you can define a
                              [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#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/26.3/concepts/overrides#pod-overrides)
                              for more information.
                            x-kubernetes-preserve-unknown-fields: true
                          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/26.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/26.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: {}
                      description: |-
                        In the `podOverrides` property you can define a
                        [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#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/26.3/concepts/overrides#pod-overrides)
                        for more information.
                      x-kubernetes-preserve-unknown-fields: true
                    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/26.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: OPA server configuration.
                clusterConfig:
                  type: object
                  default:
                    tls: null
                    userInfo: null
                    listenerClass: cluster-internal
                  properties:
                    tls:
                      type: object
                      nullable: true
                      required:
                        - serverSecretClass
                      properties:
                        serverSecretClass:
                          type: string
                          description: Name of the SecretClass which will provide TLS certificates for the
                            OPA server.
                      description: >-
                        TLS encryption settings for the OPA server.

                        When configured, OPA will use HTTPS (port 8443) instead
                        of HTTP (port 8081).

                        Clients must connect using HTTPS and trust the
                        certificates provided by the configured SecretClass.
                    userInfo:
                      type: object
                      nullable: true
                      properties:
                        cache:
                          type: object
                          default:
                            entryTimeToLive: 1m
                          properties:
                            entryTimeToLive:
                              type: string
                              default: 1m
                              description: How long metadata about each user should be cached for.
                          description: Caching configuration.
                        backend:
                          type: object
                          oneOf:
                            - required:
                                - none
                            - required:
                                - keycloak
                            - required:
                                - experimentalXfscAas
                            - required:
                                - experimentalActiveDirectory
                            - required:
                                - entra
                            - required:
                                - experimentalOpenLdap
                          default:
                            none: {}
                          properties:
                            none:
                              type: object
                              description: Dummy backend that adds no extra user information.
                            entra:
                              type: object
                              required:
                                - clientCredentialsSecret
                                - tenantId
                              properties:
                                tls:
                                  type: object
                                  default:
                                    verification:
                                      server:
                                        caCert:
                                          webPki: {}
                                  nullable: true
                                  required:
                                    - verification
                                  properties:
                                    verification:
                                      type: object
                                      oneOf:
                                        - required:
                                            - none
                                        - required:
                                            - server
                                      properties:
                                        none:
                                          type: object
                                          description: Use TLS but don't verify certificates.
                                        server:
                                          type: object
                                          required:
                                            - caCert
                                          properties:
                                            caCert:
                                              type: object
                                              oneOf:
                                                - required:
                                                    - webPki
                                                - required:
                                                    - secretClass
                                              properties:
                                                webPki:
                                                  type: object
                                                  description: >-
                                                    Use TLS and the CA
                                                    certificates trusted by the
                                                    common web browsers to
                                                    verify the server.

                                                    This can be useful when you
                                                    e.g. use public AWS S3 or
                                                    other public available
                                                    services.
                                                secretClass:
                                                  type: string
                                                  description: |-
                                                    Name of the [SecretClass](https://docs.stackable.tech/home/26.3/secret-operator/secretclass) which will provide the CA certificate.
                                                    Note that a SecretClass does not need to have a key but can also work with just a CA certificate,
                                                    so if you got provided with a CA cert but don't have access to the key you can still use this method.
                                              description: CA cert to verify the server.
                                          description: Use TLS and a CA certificate to verify the server.
                                      description: The verification method used to verify the certificates of the
                                        server and/or the client.
                                  description: Use a TLS connection. Should usually be set to WebPki.
                                port:
                                  type: integer
                                  format: uint16
                                  maximum: 65535
                                  minimum: 0
                                  nullable: true
                                  description: Port of the identity provider. If TLS is used defaults to `443`,
                                    otherwise to `80`.
                                tenantId:
                                  type: string
                                  description: The Microsoft Entra tenant ID.
                                tokenHostname:
                                  type: string
                                  default: login.microsoft.com
                                  description: Hostname of the token provider, defaults to `login.microsoft.com`.
                                userInfoHostname:
                                  type: string
                                  default: graph.microsoft.com
                                  description: Hostname of the user info provider, defaults to
                                    `graph.microsoft.com`.
                                clientCredentialsSecret:
                                  type: string
                                  description: >-
                                    Name of a Secret that contains client
                                    credentials of an Entra account with

                                    permissions `User.ReadAll` and
                                    `GroupMemberShip.ReadAll`.


                                    Must contain the fields `clientId` and
                                    `clientSecret`.
                              description: Backend that fetches user information from Microsoft Entra
                            keycloak:
                              type: object
                              required:
                                - adminRealm
                                - clientCredentialsSecret
                                - hostname
                                - userRealm
                              properties:
                                tls:
                                  type: object
                                  nullable: true
                                  required:
                                    - verification
                                  properties:
                                    verification:
                                      type: object
                                      oneOf:
                                        - required:
                                            - none
                                        - required:
                                            - server
                                      properties:
                                        none:
                                          type: object
                                          description: Use TLS but don't verify certificates.
                                        server:
                                          type: object
                                          required:
                                            - caCert
                                          properties:
                                            caCert:
                                              type: object
                                              oneOf:
                                                - required:
                                                    - webPki
                                                - required:
                                                    - secretClass
                                              properties:
                                                webPki:
                                                  type: object
                                                  description: >-
                                                    Use TLS and the CA
                                                    certificates trusted by the
                                                    common web browsers to
                                                    verify the server.

                                                    This can be useful when you
                                                    e.g. use public AWS S3 or
                                                    other public available
                                                    services.
                                                secretClass:
                                                  type: string
                                                  description: |-
                                                    Name of the [SecretClass](https://docs.stackable.tech/home/26.3/secret-operator/secretclass) which will provide the CA certificate.
                                                    Note that a SecretClass does not need to have a key but can also work with just a CA certificate,
                                                    so if you got provided with a CA cert but don't have access to the key you can still use this method.
                                              description: CA cert to verify the server.
                                          description: Use TLS and a CA certificate to verify the server.
                                      description: The verification method used to verify the certificates of the
                                        server and/or the client.
                                  description: Use a TLS connection. If not specified no TLS will be used.
                                port:
                                  type: integer
                                  format: uint16
                                  maximum: 65535
                                  minimum: 0
                                  nullable: true
                                  description: Port of the identity provider. If TLS is used defaults to `443`,
                                    otherwise to `80`.
                                hostname:
                                  type: string
                                  description: Hostname of the identity provider, e.g. `my.keycloak.corp`.
                                rootPath:
                                  type: string
                                  default: /
                                  description: Root HTTP path of the identity provider. Defaults to `/`.
                                userRealm:
                                  type: string
                                  description: The Keycloak realm that user metadata should be resolved from.
                                adminRealm:
                                  type: string
                                  description: >-
                                    The Keycloak realm that OPA's Keycloak
                                    account (as specified by
                                    `credentialsSecretName` exists in).


                                    Typically `master`.
                                clientCredentialsSecret:
                                  type: string
                                  description: >-
                                    Name of a Secret that contains client
                                    credentials of a Keycloak account with
                                    permission to read user metadata.


                                    Must contain the fields `clientId` and
                                    `clientSecret`.
                              description: Backend that fetches user information from Keycloak.
                            experimentalXfscAas:
                              type: object
                              required:
                                - hostname
                              properties:
                                port:
                                  type: integer
                                  format: uint16
                                  default: 5000
                                  maximum: 65535
                                  minimum: 0
                                  description: Port of the identity provider. Defaults to port 5000.
                                hostname:
                                  type: string
                                  description: Hostname of the identity provider, e.g. `my.aas.corp`.
                              description: >-
                                Backend that fetches user information from the
                                Gaia-X

                                Cross Federation Services Components (XFSC)
                                Authentication & Authorization Service.
                            experimentalOpenLdap:
                              type: object
                              required:
                                - bindCredentials
                                - hostname
                              properties:
                                tls:
                                  type: object
                                  nullable: true
                                  required:
                                    - verification
                                  properties:
                                    verification:
                                      type: object
                                      oneOf:
                                        - required:
                                            - none
                                        - required:
                                            - server
                                      properties:
                                        none:
                                          type: object
                                          description: Use TLS but don't verify certificates.
                                        server:
                                          type: object
                                          required:
                                            - caCert
                                          properties:
                                            caCert:
                                              type: object
                                              oneOf:
                                                - required:
                                                    - webPki
                                                - required:
                                                    - secretClass
                                              properties:
                                                webPki:
                                                  type: object
                                                  description: >-
                                                    Use TLS and the CA
                                                    certificates trusted by the
                                                    common web browsers to
                                                    verify the server.

                                                    This can be useful when you
                                                    e.g. use public AWS S3 or
                                                    other public available
                                                    services.
                                                secretClass:
                                                  type: string
                                                  description: |-
                                                    Name of the [SecretClass](https://docs.stackable.tech/home/26.3/secret-operator/secretclass) which will provide the CA certificate.
                                                    Note that a SecretClass does not need to have a key but can also work with just a CA certificate,
                                                    so if you got provided with a CA cert but don't have access to the key you can still use this method.
                                              description: CA cert to verify the server.
                                          description: Use TLS and a CA certificate to verify the server.
                                      description: The verification method used to verify the certificates of the
                                        server and/or the client.
                                  description: Use a TLS connection. If not specified no TLS will be used.
                                port:
                                  type: integer
                                  format: uint16
                                  maximum: 65535
                                  minimum: 0
                                  nullable: true
                                  description: Port of the LDAP server. If TLS is used defaults to `636`,
                                    otherwise to `389`.
                                hostname:
                                  type: string
                                  description: Hostname of the LDAP server, e.g. `my.ldap.server`.
                                searchBase:
                                  type: string
                                  default: ""
                                  description: LDAP search base, e.g. `ou=users,dc=example,dc=org`.
                                bindCredentials:
                                  type: object
                                  required:
                                    - secretClass
                                  properties:
                                    scope:
                                      type: object
                                      nullable: true
                                      properties:
                                        pod:
                                          type: boolean
                                          default: false
                                          description: >-
                                            The pod scope is resolved to the
                                            name of the Kubernetes Pod.

                                            This allows the secret to
                                            differentiate between StatefulSet
                                            replicas.
                                        node:
                                          type: boolean
                                          default: false
                                          description: >-
                                            The node scope is resolved to the
                                            name of the Kubernetes Node object
                                            that the Pod is running on.

                                            This will typically be the DNS name
                                            of the node.
                                        services:
                                          type: array
                                          items:
                                            type: string
                                          default: []
                                          description: >-
                                            The service scope allows Pod objects
                                            to specify custom scopes.

                                            This should typically correspond to
                                            Service objects that the Pod
                                            participates in.
                                        listenerVolumes:
                                          type: array
                                          items:
                                            type: string
                                          default: []
                                          description: >-
                                            The listener volume scope allows
                                            Node and Service scopes to be
                                            inferred from the applicable
                                            listeners.

                                            This must correspond to Volume names
                                            in the Pod that mount Listeners.
                                      description: |-
                                        [Scope](https://docs.stackable.tech/home/26.3/secret-operator/scope) of the
                                        [SecretClass](https://docs.stackable.tech/home/26.3/secret-operator/secretclass).
                                    secretClass:
                                      type: string
                                      description: "[SecretClass](https://docs.stackable.tech/home/26.3/secret-operat\
                                        or/secretclass) containing the LDAP bind
                                        credentials."
                                  description: >-
                                    Credentials for binding to the LDAP server.


                                    The bind account is used to search for users
                                    and groups in the LDAP directory.
                                userIdAttribute:
                                  type: string
                                  default: entryUUID
                                  description: LDAP attribute used for the user's unique identifier. Defaults to
                                    `entryUUID`.
                                groupsSearchBase:
                                  type: string
                                  nullable: true
                                  description: >-
                                    LDAP search base for groups, e.g.
                                    `ou=groups,dc=example,dc=org`.


                                    If not specified, uses the main
                                    `searchBase`.
                                userNameAttribute:
                                  type: string
                                  default: uid
                                  description: LDAP attribute used for the username. Defaults to `uid`.
                                groupMemberAttribute:
                                  type: string
                                  default: member
                                  description: >-
                                    LDAP attribute on group objects that
                                    contains member references.


                                    Common values:

                                    - `member`: For `groupOfNames` objects (uses
                                    full DN)

                                    - `memberUid`: For `posixGroup` objects
                                    (uses username)


                                    Defaults to `member`.
                                customAttributeMappings:
                                  type: object
                                  default: {}
                                  description: Custom attributes, and their LDAP attribute names.
                                  additionalProperties:
                                    type: string
                              description: Backend that fetches user information from OpenLDAP
                            experimentalActiveDirectory:
                              type: object
                              required:
                                - baseDistinguishedName
                                - kerberosSecretClassName
                                - ldapServer
                              properties:
                                tls:
                                  type: object
                                  nullable: true
                                  required:
                                    - verification
                                  properties:
                                    verification:
                                      type: object
                                      oneOf:
                                        - required:
                                            - none
                                        - required:
                                            - server
                                      properties:
                                        none:
                                          type: object
                                          description: Use TLS but don't verify certificates.
                                        server:
                                          type: object
                                          required:
                                            - caCert
                                          properties:
                                            caCert:
                                              type: object
                                              oneOf:
                                                - required:
                                                    - webPki
                                                - required:
                                                    - secretClass
                                              properties:
                                                webPki:
                                                  type: object
                                                  description: >-
                                                    Use TLS and the CA
                                                    certificates trusted by the
                                                    common web browsers to
                                                    verify the server.

                                                    This can be useful when you
                                                    e.g. use public AWS S3 or
                                                    other public available
                                                    services.
                                                secretClass:
                                                  type: string
                                                  description: |-
                                                    Name of the [SecretClass](https://docs.stackable.tech/home/26.3/secret-operator/secretclass) which will provide the CA certificate.
                                                    Note that a SecretClass does not need to have a key but can also work with just a CA certificate,
                                                    so if you got provided with a CA cert but don't have access to the key you can still use this method.
                                              description: CA cert to verify the server.
                                          description: Use TLS and a CA certificate to verify the server.
                                      description: The verification method used to verify the certificates of the
                                        server and/or the client.
                                  description: Use a TLS connection. If not specified no TLS will be used.
                                ldapServer:
                                  type: string
                                  description: Hostname of the domain controller, e.g. `ad-ds-1.contoso.com`.
                                baseDistinguishedName:
                                  type: string
                                  description: The root Distinguished Name (DN) where users and groups are
                                    located.
                                customAttributeMappings:
                                  type: object
                                  default: {}
                                  description: Custom attributes, and their LDAP attribute names.
                                  additionalProperties:
                                    type: string
                                kerberosSecretClassName:
                                  type: string
                                  description: The name of the Kerberos SecretClass.
                                additionalGroupAttributeFilters:
                                  type: object
                                  default: {}
                                  description: >-
                                    Attributes that groups must have to be
                                    returned.


                                    These fields will be spliced into an LDAP
                                    Search Query, so wildcards can be used,

                                    but characters with a special meaning in
                                    LDAP will need to be escaped.
                                  additionalProperties:
                                    type: string
                              description: Backend that fetches user information from Active Directory
                          description: The backend directory service to use.
                      description: >-
                        Configures how to fetch additional metadata about users
                        (such as group memberships)

                        from an external directory service.
                    listenerClass:
                      enum:
                        - cluster-internal
                        - external-unstable
                        - external-stable
                      type: string
                      default: cluster-internal
                      description: |-
                        This field controls which type of Service the operator creates for this OpaCluster:

                        * cluster-internal: Use a ClusterIP service

                        * external-unstable: Use a NodePort service

                        * external-stable: Use a LoadBalancer 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/stable/listener-operator/listenerclass.html>
                        will be used to expose the service, and ListenerClass names will stay the same, allowing for a non-breaking change.
                    vectorAggregatorConfigMapName:
                      type: string
                      nullable: true
                      description: >-
                        Name of the Vector aggregator discovery ConfigMap.

                        It must contain the key `ADDRESS` with the address of
                        the Vector aggregator.
                  description: Global OPA cluster configuration that applies to all roles and role
                    groups.
                objectOverrides:
                  type: array
                  items:
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                  default: []
                  description: |-
                    A list of generic Kubernetes objects, which are merged into the objects that the operator
                    creates.

                    List entries are arbitrary YAML objects, which need to be valid Kubernetes objects.

                    Read the [Object overrides documentation](https://docs.stackable.tech/home/26.3/concepts/overrides#object-overrides)
                    for more information.
                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 like pause reconciliation or cluster stop.
            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.
                      lastTransitionTime:
                        type: string
                        format: date-time
                        nullable: true
                        description: Last time the condition transitioned from one status to another.
                  default: []
          description: Auto-generated derived type for OpaClusterSpec via `CustomResource`
      served: true
      storage: true
      subresources:
        status: {}
      additionalPrinterColumns: []
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          type: object
          title: OpaCluster
          required:
            - spec
          properties:
            spec:
              type: object
              required:
                - image
                - servers
              properties:
                image:
                  type: object
                  anyOf:
                    - required:
                        - custom
                        - productVersion
                    - required:
                        - productVersion
                  properties:
                    repo:
                      type: string
                      nullable: true
                      description: Name of the docker repo, e.g. `oci.stackable.tech/sdp`
                    custom:
                      type: string
                      description: >-
                        Overwrite the docker image.

                        Specify the full docker image name, e.g.
                        `oci.stackable.tech/sdp/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
                        required:
                          - name
                        properties:
                          name:
                            type: string
                            description: "Name of the referent. This field is effectively required, but due
                              to backwards compatibility is allowed to be empty.
                              Instances of this type with an empty value here
                              are almost certainly wrong. 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: The OPA image to use
                servers:
                  type: object
                  required:
                    - roleGroups
                  properties:
                    config:
                      type: object
                      default: {}
                      properties:
                        logging:
                          type: object
                          default:
                            containers: {}
                            enableVectorAgent: null
                          properties:
                            containers:
                              type: object
                              properties:
                                opa:
                                  type: object
                                  anyOf:
                                    - required:
                                        - custom
                                    - {}
                                    - {}
                                  properties:
                                    file:
                                      type: object
                                      nullable: true
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                            - null
                                          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
                                            - null
                                          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
                                              - null
                                            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
                                vector:
                                  type: object
                                  anyOf:
                                    - required:
                                        - custom
                                    - {}
                                    - {}
                                  properties:
                                    file:
                                      type: object
                                      nullable: true
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                            - null
                                          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
                                            - null
                                          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
                                              - null
                                            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
                                prepare:
                                  type: object
                                  anyOf:
                                    - required:
                                        - custom
                                    - {}
                                    - {}
                                  properties:
                                    file:
                                      type: object
                                      nullable: true
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                            - null
                                          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
                                            - null
                                          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
                                              - null
                                            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
                                bundle-builder:
                                  type: object
                                  anyOf:
                                    - required:
                                        - custom
                                    - {}
                                    - {}
                                  properties:
                                    file:
                                      type: object
                                      nullable: true
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                            - null
                                          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
                                            - null
                                          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
                                              - null
                                            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
                                user-info-fetcher:
                                  type: object
                                  anyOf:
                                    - required:
                                        - custom
                                    - {}
                                    - {}
                                  properties:
                                    file:
                                      type: object
                                      nullable: true
                                      properties:
                                        level:
                                          enum:
                                            - TRACE
                                            - DEBUG
                                            - INFO
                                            - WARN
                                            - ERROR
                                            - FATAL
                                            - NONE
                                            - null
                                          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
                                            - null
                                          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
                                              - null
                                            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
                              description: Log configuration per 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/26.3/concepts/logging).
                        affinity:
                          type: object
                          default:
                            podAffinity: null
                            nodeAffinity: null
                            nodeSelector: null
                            podAntiAffinity: null
                          properties:
                            podAffinity:
                              type: object
                              nullable: true
                              description: Same as the `spec.affinity.podAffinity` field on the Pod, see the
                                [Kubernetes
                                docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                              x-kubernetes-preserve-unknown-fields: true
                            nodeAffinity:
                              type: object
                              nullable: true
                              description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the
                                [Kubernetes
                                docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                              x-kubernetes-preserve-unknown-fields: true
                            nodeSelector:
                              type: object
                              nullable: true
                              description: Simple key-value pairs forming a nodeSelector, see the [Kubernetes
                                docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                              additionalProperties:
                                type: string
                            podAntiAffinity:
                              type: object
                              nullable: true
                              description: Same as the `spec.affinity.podAntiAffinity` field on the Pod, see
                                the [Kubernetes
                                docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                              x-kubernetes-preserve-unknown-fields: true
                          description: |-
                            These configuration settings control
                            [Pod placement](https://docs.stackable.tech/home/26.3/concepts/operations/pod_placement).
                        resources:
                          type: object
                          default:
                            cpu:
                              max: null
                              min: null
                            memory:
                              limit: null
                              runtimeLimits: {}
                            storage: {}
                          properties:
                            cpu:
                              type: object
                              default:
                                max: null
                                min: null
                              properties:
                                max:
                                  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`.
                                  x-kubernetes-int-or-string: true
                                min:
                                  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`.
                                  x-kubernetes-int-or-string: true
                            memory:
                              type: object
                              properties:
                                limit:
                                  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-definitions/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`
                                  x-kubernetes-int-or-string: true
                                runtimeLimits:
                                  type: object
                                  description: Additional options that can be specified.
                            storage:
                              type: object
                          description: >-
                            Resource usage is configured here, this includes CPU
                            usage, memory usage and disk storage

                            usage, if this role needs any.
                        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: {}
                      description: >-
                        This is a product-agnostic RoleConfig, with nothing in
                        it. It is used e.g. by products that have

                        nothing configurable at role level.
                    roleGroups:
                      type: object
                      additionalProperties:
                        type: object
                        properties:
                          config:
                            type: object
                            default: {}
                            properties:
                              logging:
                                type: object
                                default:
                                  containers: {}
                                  enableVectorAgent: null
                                properties:
                                  containers:
                                    type: object
                                    properties:
                                      opa:
                                        type: object
                                        anyOf:
                                          - required:
                                              - custom
                                          - {}
                                          - {}
                                        properties:
                                          file:
                                            type: object
                                            nullable: true
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                  - null
                                                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
                                                  - null
                                                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
                                                    - null
                                                  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
                                      vector:
                                        type: object
                                        anyOf:
                                          - required:
                                              - custom
                                          - {}
                                          - {}
                                        properties:
                                          file:
                                            type: object
                                            nullable: true
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                  - null
                                                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
                                                  - null
                                                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
                                                    - null
                                                  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
                                      prepare:
                                        type: object
                                        anyOf:
                                          - required:
                                              - custom
                                          - {}
                                          - {}
                                        properties:
                                          file:
                                            type: object
                                            nullable: true
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                  - null
                                                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
                                                  - null
                                                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
                                                    - null
                                                  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
                                      bundle-builder:
                                        type: object
                                        anyOf:
                                          - required:
                                              - custom
                                          - {}
                                          - {}
                                        properties:
                                          file:
                                            type: object
                                            nullable: true
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                  - null
                                                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
                                                  - null
                                                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
                                                    - null
                                                  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
                                      user-info-fetcher:
                                        type: object
                                        anyOf:
                                          - required:
                                              - custom
                                          - {}
                                          - {}
                                        properties:
                                          file:
                                            type: object
                                            nullable: true
                                            properties:
                                              level:
                                                enum:
                                                  - TRACE
                                                  - DEBUG
                                                  - INFO
                                                  - WARN
                                                  - ERROR
                                                  - FATAL
                                                  - NONE
                                                  - null
                                                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
                                                  - null
                                                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
                                                    - null
                                                  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
                                    description: Log configuration per 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/26.3/concepts/logging).
                              affinity:
                                type: object
                                default:
                                  podAffinity: null
                                  nodeAffinity: null
                                  nodeSelector: null
                                  podAntiAffinity: null
                                properties:
                                  podAffinity:
                                    type: object
                                    nullable: true
                                    description: Same as the `spec.affinity.podAffinity` field on the Pod, see the
                                      [Kubernetes
                                      docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                                    x-kubernetes-preserve-unknown-fields: true
                                  nodeAffinity:
                                    type: object
                                    nullable: true
                                    description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the
                                      [Kubernetes
                                      docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                                    x-kubernetes-preserve-unknown-fields: true
                                  nodeSelector:
                                    type: object
                                    nullable: true
                                    description: Simple key-value pairs forming a nodeSelector, see the [Kubernetes
                                      docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                                    additionalProperties:
                                      type: string
                                  podAntiAffinity:
                                    type: object
                                    nullable: true
                                    description: Same as the `spec.affinity.podAntiAffinity` field on the Pod, see
                                      the [Kubernetes
                                      docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node)
                                    x-kubernetes-preserve-unknown-fields: true
                                description: |-
                                  These configuration settings control
                                  [Pod placement](https://docs.stackable.tech/home/26.3/concepts/operations/pod_placement).
                              resources:
                                type: object
                                default:
                                  cpu:
                                    max: null
                                    min: null
                                  memory:
                                    limit: null
                                    runtimeLimits: {}
                                  storage: {}
                                properties:
                                  cpu:
                                    type: object
                                    default:
                                      max: null
                                      min: null
                                    properties:
                                      max:
                                        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`.
                                        x-kubernetes-int-or-string: true
                                      min:
                                        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`.
                                        x-kubernetes-int-or-string: true
                                  memory:
                                    type: object
                                    properties:
                                      limit:
                                        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-definitions/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`
                                        x-kubernetes-int-or-string: true
                                      runtimeLimits:
                                        type: object
                                        description: Additional options that can be specified.
                                  storage:
                                    type: object
                                description: >-
                                  Resource usage is configured here, this
                                  includes CPU usage, memory usage and disk
                                  storage

                                  usage, if this role needs any.
                              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
                            maximum: 65535
                            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/26.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: {}
                            description: |-
                              In the `podOverrides` property you can define a
                              [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#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/26.3/concepts/overrides#pod-overrides)
                              for more information.
                            x-kubernetes-preserve-unknown-fields: true
                          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/26.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/26.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: {}
                      description: |-
                        In the `podOverrides` property you can define a
                        [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#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/26.3/concepts/overrides#pod-overrides)
                        for more information.
                      x-kubernetes-preserve-unknown-fields: true
                    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/26.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: OPA server configuration.
                clusterConfig:
                  type: object
                  default:
                    tls: null
                    userInfo: null
                    listenerClass: cluster-internal
                  properties:
                    tls:
                      type: object
                      nullable: true
                      required:
                        - serverSecretClass
                      properties:
                        serverSecretClass:
                          type: string
                          description: Name of the SecretClass which will provide TLS certificates for the
                            OPA server.
                      description: >-
                        TLS encryption settings for the OPA server.

                        When configured, OPA will use HTTPS (port 8443) instead
                        of HTTP (port 8081).

                        Clients must connect using HTTPS and trust the
                        certificates provided by the configured SecretClass.
                    userInfo:
                      type: object
                      nullable: true
                      properties:
                        cache:
                          type: object
                          default:
                            entryTimeToLive: 1m
                          properties:
                            entryTimeToLive:
                              type: string
                              default: 1m
                              description: How long metadata about each user should be cached for.
                          description: Caching configuration.
                        backend:
                          type: object
                          oneOf:
                            - required:
                                - none
                            - required:
                                - keycloak
                            - required:
                                - experimentalXfscAas
                            - required:
                                - experimentalActiveDirectory
                            - required:
                                - experimentalEntra
                            - required:
                                - experimentalOpenLdap
                          default:
                            none: {}
                          properties:
                            none:
                              type: object
                              description: Dummy backend that adds no extra user information.
                            keycloak:
                              type: object
                              required:
                                - adminRealm
                                - clientCredentialsSecret
                                - hostname
                                - userRealm
                              properties:
                                tls:
                                  type: object
                                  nullable: true
                                  required:
                                    - verification
                                  properties:
                                    verification:
                                      type: object
                                      oneOf:
                                        - required:
                                            - none
                                        - required:
                                            - server
                                      properties:
                                        none:
                                          type: object
                                          description: Use TLS but don't verify certificates.
                                        server:
                                          type: object
                                          required:
                                            - caCert
                                          properties:
                                            caCert:
                                              type: object
                                              oneOf:
                                                - required:
                                                    - webPki
                                                - required:
                                                    - secretClass
                                              properties:
                                                webPki:
                                                  type: object
                                                  description: >-
                                                    Use TLS and the CA
                                                    certificates trusted by the
                                                    common web browsers to
                                                    verify the server.

                                                    This can be useful when you
                                                    e.g. use public AWS S3 or
                                                    other public available
                                                    services.
                                                secretClass:
                                                  type: string
                                                  description: |-
                                                    Name of the [SecretClass](https://docs.stackable.tech/home/26.3/secret-operator/secretclass) which will provide the CA certificate.
                                                    Note that a SecretClass does not need to have a key but can also work with just a CA certificate,
                                                    so if you got provided with a CA cert but don't have access to the key you can still use this method.
                                              description: CA cert to verify the server.
                                          description: Use TLS and a CA certificate to verify the server.
                                      description: The verification method used to verify the certificates of the
                                        server and/or the client.
                                  description: Use a TLS connection. If not specified no TLS will be used.
                                port:
                                  type: integer
                                  format: uint16
                                  maximum: 65535
                                  minimum: 0
                                  nullable: true
                                  description: Port of the identity provider. If TLS is used defaults to `443`,
                                    otherwise to `80`.
                                hostname:
                                  type: string
                                  description: Hostname of the identity provider, e.g. `my.keycloak.corp`.
                                rootPath:
                                  type: string
                                  default: /
                                  description: Root HTTP path of the identity provider. Defaults to `/`.
                                userRealm:
                                  type: string
                                  description: The Keycloak realm that user metadata should be resolved from.
                                adminRealm:
                                  type: string
                                  description: >-
                                    The Keycloak realm that OPA's Keycloak
                                    account (as specified by
                                    `credentialsSecretName` exists in).


                                    Typically `master`.
                                clientCredentialsSecret:
                                  type: string
                                  description: >-
                                    Name of a Secret that contains client
                                    credentials of a Keycloak account with
                                    permission to read user metadata.


                                    Must contain the fields `clientId` and
                                    `clientSecret`.
                              description: Backend that fetches user information from Keycloak.
                            experimentalEntra:
                              type: object
                              required:
                                - clientCredentialsSecret
                                - tenantId
                              properties:
                                tls:
                                  type: object
                                  default:
                                    verification:
                                      server:
                                        caCert:
                                          webPki: {}
                                  nullable: true
                                  required:
                                    - verification
                                  properties:
                                    verification:
                                      type: object
                                      oneOf:
                                        - required:
                                            - none
                                        - required:
                                            - server
                                      properties:
                                        none:
                                          type: object
                                          description: Use TLS but don't verify certificates.
                                        server:
                                          type: object
                                          required:
                                            - caCert
                                          properties:
                                            caCert:
                                              type: object
                                              oneOf:
                                                - required:
                                                    - webPki
                                                - required:
                                                    - secretClass
                                              properties:
                                                webPki:
                                                  type: object
                                                  description: >-
                                                    Use TLS and the CA
                                                    certificates trusted by the
                                                    common web browsers to
                                                    verify the server.

                                                    This can be useful when you
                                                    e.g. use public AWS S3 or
                                                    other public available
                                                    services.
                                                secretClass:
                                                  type: string
                                                  description: |-
                                                    Name of the [SecretClass](https://docs.stackable.tech/home/26.3/secret-operator/secretclass) which will provide the CA certificate.
                                                    Note that a SecretClass does not need to have a key but can also work with just a CA certificate,
                                                    so if you got provided with a CA cert but don't have access to the key you can still use this method.
                                              description: CA cert to verify the server.
                                          description: Use TLS and a CA certificate to verify the server.
                                      description: The verification method used to verify the certificates of the
                                        server and/or the client.
                                  description: Use a TLS connection. Should usually be set to WebPki.
                                port:
                                  type: integer
                                  format: uint16
                                  maximum: 65535
                                  minimum: 0
                                  nullable: true
                                  description: Port of the identity provider. If TLS is used defaults to `443`,
                                    otherwise to `80`.
                                tenantId:
                                  type: string
                                  description: The Microsoft Entra tenant ID.
                                tokenHostname:
                                  type: string
                                  default: login.microsoft.com
                                  description: Hostname of the token provider, defaults to `login.microsoft.com`.
                                userInfoHostname:
                                  type: string
                                  default: graph.microsoft.com
                                  description: Hostname of the user info provider, defaults to
                                    `graph.microsoft.com`.
                                clientCredentialsSecret:
                                  type: string
                                  description: >-
                                    Name of a Secret that contains client
                                    credentials of an Entra account with

                                    permissions `User.ReadAll` and
                                    `GroupMemberShip.ReadAll`.


                                    Must contain the fields `clientId` and
                                    `clientSecret`.
                              description: Backend that fetches user information from Microsoft Entra
                            experimentalXfscAas:
                              type: object
                              required:
                                - hostname
                              properties:
                                port:
                                  type: integer
                                  format: uint16
                                  default: 5000
                                  maximum: 65535
                                  minimum: 0
                                  description: Port of the identity provider. Defaults to port 5000.
                                hostname:
                                  type: string
                                  description: Hostname of the identity provider, e.g. `my.aas.corp`.
                              description: >-
                                Backend that fetches user information from the
                                Gaia-X

                                Cross Federation Services Components (XFSC)
                                Authentication & Authorization Service.
                            experimentalOpenLdap:
                              type: object
                              required:
                                - bindCredentials
                                - hostname
                              properties:
                                tls:
                                  type: object
                                  nullable: true
                                  required:
                                    - verification
                                  properties:
                                    verification:
                                      type: object
                                      oneOf:
                                        - required:
                                            - none
                                        - required:
                                            - server
                                      properties:
                                        none:
                                          type: object
                                          description: Use TLS but don't verify certificates.
                                        server:
                                          type: object
                                          required:
                                            - caCert
                                          properties:
                                            caCert:
                                              type: object
                                              oneOf:
                                                - required:
                                                    - webPki
                                                - required:
                                                    - secretClass
                                              properties:
                                                webPki:
                                                  type: object
                                                  description: >-
                                                    Use TLS and the CA
                                                    certificates trusted by the
                                                    common web browsers to
                                                    verify the server.

                                                    This can be useful when you
                                                    e.g. use public AWS S3 or
                                                    other public available
                                                    services.
                                                secretClass:
                                                  type: string
                                                  description: |-
                                                    Name of the [SecretClass](https://docs.stackable.tech/home/26.3/secret-operator/secretclass) which will provide the CA certificate.
                                                    Note that a SecretClass does not need to have a key but can also work with just a CA certificate,
                                                    so if you got provided with a CA cert but don't have access to the key you can still use this method.
                                              description: CA cert to verify the server.
                                          description: Use TLS and a CA certificate to verify the server.
                                      description: The verification method used to verify the certificates of the
                                        server and/or the client.
                                  description: Use a TLS connection. If not specified no TLS will be used.
                                port:
                                  type: integer
                                  format: uint16
                                  maximum: 65535
                                  minimum: 0
                                  nullable: true
                                  description: Port of the LDAP server. If TLS is used defaults to `636`,
                                    otherwise to `389`.
                                hostname:
                                  type: string
                                  description: Hostname of the LDAP server, e.g. `my.ldap.server`.
                                searchBase:
                                  type: string
                                  default: ""
                                  description: LDAP search base, e.g. `ou=users,dc=example,dc=org`.
                                bindCredentials:
                                  type: object
                                  required:
                                    - secretClass
                                  properties:
                                    scope:
                                      type: object
                                      nullable: true
                                      properties:
                                        pod:
                                          type: boolean
                                          default: false
                                          description: >-
                                            The pod scope is resolved to the
                                            name of the Kubernetes Pod.

                                            This allows the secret to
                                            differentiate between StatefulSet
                                            replicas.
                                        node:
                                          type: boolean
                                          default: false
                                          description: >-
                                            The node scope is resolved to the
                                            name of the Kubernetes Node object
                                            that the Pod is running on.

                                            This will typically be the DNS name
                                            of the node.
                                        services:
                                          type: array
                                          items:
                                            type: string
                                          default: []
                                          description: >-
                                            The service scope allows Pod objects
                                            to specify custom scopes.

                                            This should typically correspond to
                                            Service objects that the Pod
                                            participates in.
                                        listenerVolumes:
                                          type: array
                                          items:
                                            type: string
                                          default: []
                                          description: >-
                                            The listener volume scope allows
                                            Node and Service scopes to be
                                            inferred from the applicable
                                            listeners.

                                            This must correspond to Volume names
                                            in the Pod that mount Listeners.
                                      description: |-
                                        [Scope](https://docs.stackable.tech/home/26.3/secret-operator/scope) of the
                                        [SecretClass](https://docs.stackable.tech/home/26.3/secret-operator/secretclass).
                                    secretClass:
                                      type: string
                                      description: "[SecretClass](https://docs.stackable.tech/home/26.3/secret-operat\
                                        or/secretclass) containing the LDAP bind
                                        credentials."
                                  description: >-
                                    Credentials for binding to the LDAP server.


                                    The bind account is used to search for users
                                    and groups in the LDAP directory.
                                userIdAttribute:
                                  type: string
                                  default: entryUUID
                                  description: LDAP attribute used for the user's unique identifier. Defaults to
                                    `entryUUID`.
                                groupsSearchBase:
                                  type: string
                                  nullable: true
                                  description: >-
                                    LDAP search base for groups, e.g.
                                    `ou=groups,dc=example,dc=org`.


                                    If not specified, uses the main
                                    `searchBase`.
                                userNameAttribute:
                                  type: string
                                  default: uid
                                  description: LDAP attribute used for the username. Defaults to `uid`.
                                groupMemberAttribute:
                                  type: string
                                  default: member
                                  description: >-
                                    LDAP attribute on group objects that
                                    contains member references.


                                    Common values:

                                    - `member`: For `groupOfNames` objects (uses
                                    full DN)

                                    - `memberUid`: For `posixGroup` objects
                                    (uses username)


                                    Defaults to `member`.
                                customAttributeMappings:
                                  type: object
                                  default: {}
                                  description: Custom attributes, and their LDAP attribute names.
                                  additionalProperties:
                                    type: string
                              description: Backend that fetches user information from OpenLDAP
                            experimentalActiveDirectory:
                              type: object
                              required:
                                - baseDistinguishedName
                                - kerberosSecretClassName
                                - ldapServer
                              properties:
                                tls:
                                  type: object
                                  nullable: true
                                  required:
                                    - verification
                                  properties:
                                    verification:
                                      type: object
                                      oneOf:
                                        - required:
                                            - none
                                        - required:
                                            - server
                                      properties:
                                        none:
                                          type: object
                                          description: Use TLS but don't verify certificates.
                                        server:
                                          type: object
                                          required:
                                            - caCert
                                          properties:
                                            caCert:
                                              type: object
                                              oneOf:
                                                - required:
                                                    - webPki
                                                - required:
                                                    - secretClass
                                              properties:
                                                webPki:
                                                  type: object
                                                  description: >-
                                                    Use TLS and the CA
                                                    certificates trusted by the
                                                    common web browsers to
                                                    verify the server.

                                                    This can be useful when you
                                                    e.g. use public AWS S3 or
                                                    other public available
                                                    services.
                                                secretClass:
                                                  type: string
                                                  description: |-
                                                    Name of the [SecretClass](https://docs.stackable.tech/home/26.3/secret-operator/secretclass) which will provide the CA certificate.
                                                    Note that a SecretClass does not need to have a key but can also work with just a CA certificate,
                                                    so if you got provided with a CA cert but don't have access to the key you can still use this method.
                                              description: CA cert to verify the server.
                                          description: Use TLS and a CA certificate to verify the server.
                                      description: The verification method used to verify the certificates of the
                                        server and/or the client.
                                  description: Use a TLS connection. If not specified no TLS will be used.
                                ldapServer:
                                  type: string
                                  description: Hostname of the domain controller, e.g. `ad-ds-1.contoso.com`.
                                baseDistinguishedName:
                                  type: string
                                  description: The root Distinguished Name (DN) where users and groups are
                                    located.
                                customAttributeMappings:
                                  type: object
                                  default: {}
                                  description: Custom attributes, and their LDAP attribute names.
                                  additionalProperties:
                                    type: string
                                kerberosSecretClassName:
                                  type: string
                                  description: The name of the Kerberos SecretClass.
                                additionalGroupAttributeFilters:
                                  type: object
                                  default: {}
                                  description: >-
                                    Attributes that groups must have to be
                                    returned.


                                    These fields will be spliced into an LDAP
                                    Search Query, so wildcards can be used,

                                    but characters with a special meaning in
                                    LDAP will need to be escaped.
                                  additionalProperties:
                                    type: string
                              description: Backend that fetches user information from Active Directory
                          description: The backend directory service to use.
                      description: >-
                        Configures how to fetch additional metadata about users
                        (such as group memberships)

                        from an external directory service.
                    listenerClass:
                      enum:
                        - cluster-internal
                        - external-unstable
                        - external-stable
                      type: string
                      default: cluster-internal
                      description: |-
                        This field controls which type of Service the operator creates for this OpaCluster:

                        * cluster-internal: Use a ClusterIP service

                        * external-unstable: Use a NodePort service

                        * external-stable: Use a LoadBalancer 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/stable/listener-operator/listenerclass.html>
                        will be used to expose the service, and ListenerClass names will stay the same, allowing for a non-breaking change.
                    vectorAggregatorConfigMapName:
                      type: string
                      nullable: true
                      description: >-
                        Name of the Vector aggregator discovery ConfigMap.

                        It must contain the key `ADDRESS` with the address of
                        the Vector aggregator.
                  description: Global OPA cluster configuration that applies to all roles and role
                    groups.
                objectOverrides:
                  type: array
                  items:
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                  default: []
                  description: |-
                    A list of generic Kubernetes objects, which are merged into the objects that the operator
                    creates.

                    List entries are arbitrary YAML objects, which need to be valid Kubernetes objects.

                    Read the [Object overrides documentation](https://docs.stackable.tech/home/26.3/concepts/overrides#object-overrides)
                    for more information.
                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 like pause reconciliation or cluster stop.
            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.
                      lastTransitionTime:
                        type: string
                        format: date-time
                        nullable: true
                        description: Last time the condition transitioned from one status to another.
                  default: []
          description: Auto-generated derived type for OpaClusterSpec via `CustomResource`
      served: true
      storage: false
      subresources:
        status: {}
      additionalPrinterColumns: []
metadata:
  name: opaclusters.opa.stackable.tech
apiVersion: apiextensions.k8s.io/v1
