# Generated by Fabric8 CRDGenerator, manual edits might get overwritten!
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: keycloaks.k8s.keycloak.org
spec:
  group: k8s.keycloak.org
  names:
    kind: Keycloak
    plural: keycloaks
    shortNames:
    - kc
    singular: keycloak
  scope: Namespaced
  versions:
  - name: v2alpha1
    schema:
      openAPIV3Schema:
        properties:
          spec:
            properties:
              instances:
                description: Number of Keycloak instances in HA mode. Default is 1.
                type: integer
              transaction:
                description: In this section you can find all properties related to
                  the settings of transaction behavior.
                properties:
                  xaEnabled:
                    description: Determine whether Keycloak should use a non-XA datasource
                      in case the database does not support XA transactions.
                    type: boolean
                type: object
              http:
                description: In this section you can configure Keycloak features related
                  to HTTP and HTTPS
                properties:
                  httpPort:
                    description: The used HTTP port.
                    type: integer
                  tlsSecret:
                    description: "A secret containing the TLS configuration for HTTPS.\
                      \ Reference: https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets."
                    type: string
                  httpsPort:
                    description: The used HTTPS port.
                    type: integer
                  httpEnabled:
                    description: Enables the HTTP listener.
                    type: boolean
                type: object
              hostname:
                description: In this section you can configure Keycloak hostname and
                  related properties.
                properties:
                  hostname:
                    description: Hostname for the Keycloak server.
                    type: string
                  strict:
                    description: Disables dynamically resolving the hostname from
                      request headers.
                    type: boolean
                  strictBackchannel:
                    description: By default backchannel URLs are dynamically resolved
                      from request headers to allow internal and external applications.
                    type: boolean
                  admin:
                    description: The hostname for accessing the administration console.
                    type: string
                  adminUrl:
                    description: "Set the base URL for accessing the administration\
                      \ console, including scheme, host, port and path"
                    type: string
                type: object
              unsupported:
                description: |-
                  In this section you can configure podTemplate advanced features, not production-ready, and not supported settings.
                  Use at your own risk and open an issue with your use-case if you don't find an alternative way.
                properties:
                  podTemplate:
                    description: |-
                      You can configure that will be merged with the one configured by default by the operator.
                      Use at your own risk, we reserve the possibility to remove/change the way any field gets merged in future releases without notice.
                      Reference: https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates
                    properties:
                      metadata:
                        properties:
                          generateName:
                            type: string
                          deletionGracePeriodSeconds:
                            type: integer
                          deletionTimestamp:
                            type: string
                          resourceVersion:
                            type: string
                          annotations:
                            additionalProperties:
                              type: string
                            type: object
                          selfLink:
                            type: string
                          creationTimestamp:
                            type: string
                          finalizers:
                            items:
                              type: string
                            type: array
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          ownerReferences:
                            items:
                              properties:
                                blockOwnerDeletion:
                                  type: boolean
                                uid:
                                  type: string
                                apiVersion:
                                  type: string
                                name:
                                  type: string
                                kind:
                                  type: string
                                controller:
                                  type: boolean
                              type: object
                            type: array
                          uid:
                            type: string
                          generation:
                            type: integer
                          name:
                            type: string
                          managedFields:
                            items:
                              properties:
                                time:
                                  type: string
                                apiVersion:
                                  type: string
                                fieldsV1:
                                  type: object
                                fieldsType:
                                  type: string
                                manager:
                                  type: string
                                operation:
                                  type: string
                                subresource:
                                  type: string
                              type: object
                            type: array
                          namespace:
                            type: string
                        type: object
                      spec:
                        properties:
                          volumes:
                            items:
                              properties:
                                hostPath:
                                  properties:
                                    path:
                                      type: string
                                    type:
                                      type: string
                                  type: object
                                flexVolume:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    options:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                      type: object
                                    fsType:
                                      type: string
                                    driver:
                                      type: string
                                  type: object
                                gcePersistentDisk:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    pdName:
                                      type: string
                                    partition:
                                      type: integer
                                    fsType:
                                      type: string
                                  type: object
                                ephemeral:
                                  properties:
                                    volumeClaimTemplate:
                                      properties:
                                        metadata:
                                          properties:
                                            generateName:
                                              type: string
                                            deletionGracePeriodSeconds:
                                              type: integer
                                            deletionTimestamp:
                                              type: string
                                            resourceVersion:
                                              type: string
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            selfLink:
                                              type: string
                                            creationTimestamp:
                                              type: string
                                            finalizers:
                                              items:
                                                type: string
                                              type: array
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            ownerReferences:
                                              items:
                                                properties:
                                                  blockOwnerDeletion:
                                                    type: boolean
                                                  uid:
                                                    type: string
                                                  apiVersion:
                                                    type: string
                                                  name:
                                                    type: string
                                                  kind:
                                                    type: string
                                                  controller:
                                                    type: boolean
                                                type: object
                                              type: array
                                            uid:
                                              type: string
                                            generation:
                                              type: integer
                                            name:
                                              type: string
                                            managedFields:
                                              items:
                                                properties:
                                                  time:
                                                    type: string
                                                  apiVersion:
                                                    type: string
                                                  fieldsV1:
                                                    type: object
                                                  fieldsType:
                                                    type: string
                                                  manager:
                                                    type: string
                                                  operation:
                                                    type: string
                                                  subresource:
                                                    type: string
                                                type: object
                                              type: array
                                            namespace:
                                              type: string
                                          type: object
                                        spec:
                                          properties:
                                            selector:
                                              properties:
                                                matchExpressions:
                                                  items:
                                                    properties:
                                                      key:
                                                        type: string
                                                      values:
                                                        items:
                                                          type: string
                                                        type: array
                                                      operator:
                                                        type: string
                                                    type: object
                                                  type: array
                                                matchLabels:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                              type: object
                                            storageClassName:
                                              type: string
                                            dataSource:
                                              properties:
                                                name:
                                                  type: string
                                                kind:
                                                  type: string
                                                apiGroup:
                                                  type: string
                                              type: object
                                            dataSourceRef:
                                              properties:
                                                name:
                                                  type: string
                                                kind:
                                                  type: string
                                                namespace:
                                                  type: string
                                                apiGroup:
                                                  type: string
                                              type: object
                                            resources:
                                              properties:
                                                limits:
                                                  additionalProperties:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  type: object
                                                claims:
                                                  items:
                                                    properties:
                                                      name:
                                                        type: string
                                                    type: object
                                                  type: array
                                                requests:
                                                  additionalProperties:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    x-kubernetes-int-or-string: true
                                                  type: object
                                              type: object
                                            accessModes:
                                              items:
                                                type: string
                                              type: array
                                            volumeMode:
                                              type: string
                                            volumeName:
                                              type: string
                                          type: object
                                      type: object
                                  type: object
                                scaleIO:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    storageMode:
                                      type: string
                                    storagePool:
                                      type: string
                                    system:
                                      type: string
                                    gateway:
                                      type: string
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                      type: object
                                    fsType:
                                      type: string
                                    sslEnabled:
                                      type: boolean
                                    volumeName:
                                      type: string
                                    protectionDomain:
                                      type: string
                                  type: object
                                csi:
                                  properties:
                                    nodePublishSecretRef:
                                      properties:
                                        name:
                                          type: string
                                      type: object
                                    readOnly:
                                      type: boolean
                                    volumeAttributes:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    fsType:
                                      type: string
                                    driver:
                                      type: string
                                  type: object
                                secret:
                                  properties:
                                    optional:
                                      type: boolean
                                    secretName:
                                      type: string
                                    items:
                                      items:
                                        properties:
                                          path:
                                            type: string
                                          key:
                                            type: string
                                          mode:
                                            type: integer
                                        type: object
                                      type: array
                                    defaultMode:
                                      type: integer
                                  type: object
                                name:
                                  type: string
                                vsphereVolume:
                                  properties:
                                    storagePolicyName:
                                      type: string
                                    storagePolicyID:
                                      type: string
                                    volumePath:
                                      type: string
                                    fsType:
                                      type: string
                                  type: object
                                gitRepo:
                                  properties:
                                    revision:
                                      type: string
                                    repository:
                                      type: string
                                    directory:
                                      type: string
                                  type: object
                                glusterfs:
                                  properties:
                                    path:
                                      type: string
                                    readOnly:
                                      type: boolean
                                    endpoints:
                                      type: string
                                  type: object
                                nfs:
                                  properties:
                                    path:
                                      type: string
                                    readOnly:
                                      type: boolean
                                    server:
                                      type: string
                                  type: object
                                cinder:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                      type: object
                                    fsType:
                                      type: string
                                    volumeID:
                                      type: string
                                  type: object
                                flocker:
                                  properties:
                                    datasetUUID:
                                      type: string
                                    datasetName:
                                      type: string
                                  type: object
                                quobyte:
                                  properties:
                                    group:
                                      type: string
                                    readOnly:
                                      type: boolean
                                    volume:
                                      type: string
                                    user:
                                      type: string
                                    registry:
                                      type: string
                                    tenant:
                                      type: string
                                  type: object
                                photonPersistentDisk:
                                  properties:
                                    pdID:
                                      type: string
                                    fsType:
                                      type: string
                                  type: object
                                persistentVolumeClaim:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    claimName:
                                      type: string
                                  type: object
                                awsElasticBlockStore:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    partition:
                                      type: integer
                                    fsType:
                                      type: string
                                    volumeID:
                                      type: string
                                  type: object
                                configMap:
                                  properties:
                                    optional:
                                      type: boolean
                                    items:
                                      items:
                                        properties:
                                          path:
                                            type: string
                                          key:
                                            type: string
                                          mode:
                                            type: integer
                                        type: object
                                      type: array
                                    defaultMode:
                                      type: integer
                                    name:
                                      type: string
                                  type: object
                                storageos:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    volumeNamespace:
                                      type: string
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                      type: object
                                    fsType:
                                      type: string
                                    volumeName:
                                      type: string
                                  type: object
                                portworxVolume:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    fsType:
                                      type: string
                                    volumeID:
                                      type: string
                                  type: object
                                iscsi:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    chapAuthSession:
                                      type: boolean
                                    lun:
                                      type: integer
                                    targetPortal:
                                      type: string
                                    iscsiInterface:
                                      type: string
                                    portals:
                                      items:
                                        type: string
                                      type: array
                                    initiatorName:
                                      type: string
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                      type: object
                                    fsType:
                                      type: string
                                    iqn:
                                      type: string
                                    chapAuthDiscovery:
                                      type: boolean
                                  type: object
                                rbd:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    pool:
                                      type: string
                                    keyring:
                                      type: string
                                    image:
                                      type: string
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                      type: object
                                    monitors:
                                      items:
                                        type: string
                                      type: array
                                    fsType:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                azureFile:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    secretName:
                                      type: string
                                    shareName:
                                      type: string
                                  type: object
                                downwardAPI:
                                  properties:
                                    items:
                                      items:
                                        properties:
                                          path:
                                            type: string
                                          fieldRef:
                                            properties:
                                              apiVersion:
                                                type: string
                                              fieldPath:
                                                type: string
                                            type: object
                                          resourceFieldRef:
                                            properties:
                                              containerName:
                                                type: string
                                              divisor:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                x-kubernetes-int-or-string: true
                                              resource:
                                                type: string
                                            type: object
                                          mode:
                                            type: integer
                                        type: object
                                      type: array
                                    defaultMode:
                                      type: integer
                                  type: object
                                projected:
                                  properties:
                                    defaultMode:
                                      type: integer
                                    sources:
                                      items:
                                        properties:
                                          secret:
                                            properties:
                                              optional:
                                                type: boolean
                                              items:
                                                items:
                                                  properties:
                                                    path:
                                                      type: string
                                                    key:
                                                      type: string
                                                    mode:
                                                      type: integer
                                                  type: object
                                                type: array
                                              name:
                                                type: string
                                            type: object
                                          configMap:
                                            properties:
                                              optional:
                                                type: boolean
                                              items:
                                                items:
                                                  properties:
                                                    path:
                                                      type: string
                                                    key:
                                                      type: string
                                                    mode:
                                                      type: integer
                                                  type: object
                                                type: array
                                              name:
                                                type: string
                                            type: object
                                          serviceAccountToken:
                                            properties:
                                              path:
                                                type: string
                                              audience:
                                                type: string
                                              expirationSeconds:
                                                type: integer
                                            type: object
                                          downwardAPI:
                                            properties:
                                              items:
                                                items:
                                                  properties:
                                                    path:
                                                      type: string
                                                    fieldRef:
                                                      properties:
                                                        apiVersion:
                                                          type: string
                                                        fieldPath:
                                                          type: string
                                                      type: object
                                                    resourceFieldRef:
                                                      properties:
                                                        containerName:
                                                          type: string
                                                        divisor:
                                                          anyOf:
                                                          - type: integer
                                                          - type: string
                                                          x-kubernetes-int-or-string: true
                                                        resource:
                                                          type: string
                                                      type: object
                                                    mode:
                                                      type: integer
                                                  type: object
                                                type: array
                                            type: object
                                        type: object
                                      type: array
                                  type: object
                                azureDisk:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    diskName:
                                      type: string
                                    cachingMode:
                                      type: string
                                    fsType:
                                      type: string
                                    kind:
                                      type: string
                                    diskURI:
                                      type: string
                                  type: object
                                cephfs:
                                  properties:
                                    path:
                                      type: string
                                    readOnly:
                                      type: boolean
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                      type: object
                                    monitors:
                                      items:
                                        type: string
                                      type: array
                                    secretFile:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                emptyDir:
                                  properties:
                                    sizeLimit:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    medium:
                                      type: string
                                  type: object
                                fc:
                                  properties:
                                    readOnly:
                                      type: boolean
                                    lun:
                                      type: integer
                                    wwids:
                                      items:
                                        type: string
                                      type: array
                                    targetWWNs:
                                      items:
                                        type: string
                                      type: array
                                    fsType:
                                      type: string
                                  type: object
                              type: object
                            type: array
                          restartPolicy:
                            type: string
                          terminationGracePeriodSeconds:
                            type: integer
                          setHostnameAsFQDN:
                            type: boolean
                          dnsConfig:
                            properties:
                              nameservers:
                                items:
                                  type: string
                                type: array
                              searches:
                                items:
                                  type: string
                                type: array
                              options:
                                items:
                                  properties:
                                    value:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                            type: object
                          securityContext:
                            properties:
                              runAsGroup:
                                type: integer
                              runAsNonRoot:
                                type: boolean
                              windowsOptions:
                                properties:
                                  gmsaCredentialSpecName:
                                    type: string
                                  hostProcess:
                                    type: boolean
                                  gmsaCredentialSpec:
                                    type: string
                                  runAsUserName:
                                    type: string
                                type: object
                              sysctls:
                                items:
                                  properties:
                                    value:
                                      type: string
                                    name:
                                      type: string
                                  type: object
                                type: array
                              fsGroupChangePolicy:
                                type: string
                              seLinuxOptions:
                                properties:
                                  role:
                                    type: string
                                  type:
                                    type: string
                                  user:
                                    type: string
                                  level:
                                    type: string
                                type: object
                              fsGroup:
                                type: integer
                              supplementalGroups:
                                items:
                                  type: integer
                                type: array
                              runAsUser:
                                type: integer
                              seccompProfile:
                                properties:
                                  type:
                                    type: string
                                  localhostProfile:
                                    type: string
                                type: object
                            type: object
                          imagePullSecrets:
                            items:
                              properties:
                                name:
                                  type: string
                              type: object
                            type: array
                          subdomain:
                            type: string
                          serviceAccount:
                            type: string
                          activeDeadlineSeconds:
                            type: integer
                          priority:
                            type: integer
                          ephemeralContainers:
                            items:
                              properties:
                                lifecycle:
                                  properties:
                                    postStart:
                                      properties:
                                        tcpSocket:
                                          properties:
                                            host:
                                              type: string
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                        exec:
                                          properties:
                                            command:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        httpGet:
                                          properties:
                                            path:
                                              type: string
                                            scheme:
                                              type: string
                                            host:
                                              type: string
                                            httpHeaders:
                                              items:
                                                properties:
                                                  value:
                                                    type: string
                                                  name:
                                                    type: string
                                                type: object
                                              type: array
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                      type: object
                                    preStop:
                                      properties:
                                        tcpSocket:
                                          properties:
                                            host:
                                              type: string
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                        exec:
                                          properties:
                                            command:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        httpGet:
                                          properties:
                                            path:
                                              type: string
                                            scheme:
                                              type: string
                                            host:
                                              type: string
                                            httpHeaders:
                                              items:
                                                properties:
                                                  value:
                                                    type: string
                                                  name:
                                                    type: string
                                                type: object
                                              type: array
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                      type: object
                                  type: object
                                command:
                                  items:
                                    type: string
                                  type: array
                                livenessProbe:
                                  properties:
                                    periodSeconds:
                                      type: integer
                                    failureThreshold:
                                      type: integer
                                    initialDelaySeconds:
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          type: integer
                                        service:
                                          type: string
                                      type: object
                                    successThreshold:
                                      type: integer
                                    terminationGracePeriodSeconds:
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                    timeoutSeconds:
                                      type: integer
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        path:
                                          type: string
                                        scheme:
                                          type: string
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              value:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          type: array
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                stdin:
                                  type: boolean
                                image:
                                  type: string
                                targetContainerName:
                                  type: string
                                terminationMessagePolicy:
                                  type: string
                                readinessProbe:
                                  properties:
                                    periodSeconds:
                                      type: integer
                                    failureThreshold:
                                      type: integer
                                    initialDelaySeconds:
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          type: integer
                                        service:
                                          type: string
                                      type: object
                                    successThreshold:
                                      type: integer
                                    terminationGracePeriodSeconds:
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                    timeoutSeconds:
                                      type: integer
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        path:
                                          type: string
                                        scheme:
                                          type: string
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              value:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          type: array
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                terminationMessagePath:
                                  type: string
                                env:
                                  items:
                                    properties:
                                      value:
                                        type: string
                                      valueFrom:
                                        properties:
                                          configMapKeyRef:
                                            properties:
                                              optional:
                                                type: boolean
                                              key:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          fieldRef:
                                            properties:
                                              apiVersion:
                                                type: string
                                              fieldPath:
                                                type: string
                                            type: object
                                          resourceFieldRef:
                                            properties:
                                              containerName:
                                                type: string
                                              divisor:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                x-kubernetes-int-or-string: true
                                              resource:
                                                type: string
                                            type: object
                                          secretKeyRef:
                                            properties:
                                              optional:
                                                type: boolean
                                              key:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                        type: object
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                tty:
                                  type: boolean
                                args:
                                  items:
                                    type: string
                                  type: array
                                startupProbe:
                                  properties:
                                    periodSeconds:
                                      type: integer
                                    failureThreshold:
                                      type: integer
                                    initialDelaySeconds:
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          type: integer
                                        service:
                                          type: string
                                      type: object
                                    successThreshold:
                                      type: integer
                                    terminationGracePeriodSeconds:
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                    timeoutSeconds:
                                      type: integer
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        path:
                                          type: string
                                        scheme:
                                          type: string
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              value:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          type: array
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                stdinOnce:
                                  type: boolean
                                ports:
                                  items:
                                    properties:
                                      containerPort:
                                        type: integer
                                      hostPort:
                                        type: integer
                                      name:
                                        type: string
                                      protocol:
                                        type: string
                                      hostIP:
                                        type: string
                                    type: object
                                  type: array
                                workingDir:
                                  type: string
                                envFrom:
                                  items:
                                    properties:
                                      prefix:
                                        type: string
                                      configMapRef:
                                        properties:
                                          optional:
                                            type: boolean
                                          name:
                                            type: string
                                        type: object
                                      secretRef:
                                        properties:
                                          optional:
                                            type: boolean
                                          name:
                                            type: string
                                        type: object
                                    type: object
                                  type: array
                                volumeMounts:
                                  items:
                                    properties:
                                      readOnly:
                                        type: boolean
                                      subPathExpr:
                                        type: string
                                      mountPath:
                                        type: string
                                      mountPropagation:
                                        type: string
                                      subPath:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                securityContext:
                                  properties:
                                    runAsGroup:
                                      type: integer
                                    runAsNonRoot:
                                      type: boolean
                                    windowsOptions:
                                      properties:
                                        gmsaCredentialSpecName:
                                          type: string
                                        hostProcess:
                                          type: boolean
                                        gmsaCredentialSpec:
                                          type: string
                                        runAsUserName:
                                          type: string
                                      type: object
                                    allowPrivilegeEscalation:
                                      type: boolean
                                    capabilities:
                                      properties:
                                        add:
                                          items:
                                            type: string
                                          type: array
                                        drop:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    seLinuxOptions:
                                      properties:
                                        role:
                                          type: string
                                        type:
                                          type: string
                                        user:
                                          type: string
                                        level:
                                          type: string
                                      type: object
                                    readOnlyRootFilesystem:
                                      type: boolean
                                    privileged:
                                      type: boolean
                                    runAsUser:
                                      type: integer
                                    procMount:
                                      type: string
                                    seccompProfile:
                                      properties:
                                        type:
                                          type: string
                                        localhostProfile:
                                          type: string
                                      type: object
                                  type: object
                                name:
                                  type: string
                                resources:
                                  properties:
                                    limits:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      type: object
                                    claims:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                        type: object
                                      type: array
                                    requests:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                imagePullPolicy:
                                  type: string
                                volumeDevices:
                                  items:
                                    properties:
                                      devicePath:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            type: array
                          resourceClaims:
                            items:
                              properties:
                                source:
                                  properties:
                                    resourceClaimTemplateName:
                                      type: string
                                    resourceClaimName:
                                      type: string
                                  type: object
                                name:
                                  type: string
                              type: object
                            type: array
                          automountServiceAccountToken:
                            type: boolean
                          containers:
                            items:
                              properties:
                                lifecycle:
                                  properties:
                                    postStart:
                                      properties:
                                        tcpSocket:
                                          properties:
                                            host:
                                              type: string
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                        exec:
                                          properties:
                                            command:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        httpGet:
                                          properties:
                                            path:
                                              type: string
                                            scheme:
                                              type: string
                                            host:
                                              type: string
                                            httpHeaders:
                                              items:
                                                properties:
                                                  value:
                                                    type: string
                                                  name:
                                                    type: string
                                                type: object
                                              type: array
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                      type: object
                                    preStop:
                                      properties:
                                        tcpSocket:
                                          properties:
                                            host:
                                              type: string
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                        exec:
                                          properties:
                                            command:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        httpGet:
                                          properties:
                                            path:
                                              type: string
                                            scheme:
                                              type: string
                                            host:
                                              type: string
                                            httpHeaders:
                                              items:
                                                properties:
                                                  value:
                                                    type: string
                                                  name:
                                                    type: string
                                                type: object
                                              type: array
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                      type: object
                                  type: object
                                command:
                                  items:
                                    type: string
                                  type: array
                                livenessProbe:
                                  properties:
                                    periodSeconds:
                                      type: integer
                                    failureThreshold:
                                      type: integer
                                    initialDelaySeconds:
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          type: integer
                                        service:
                                          type: string
                                      type: object
                                    successThreshold:
                                      type: integer
                                    terminationGracePeriodSeconds:
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                    timeoutSeconds:
                                      type: integer
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        path:
                                          type: string
                                        scheme:
                                          type: string
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              value:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          type: array
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                stdin:
                                  type: boolean
                                image:
                                  type: string
                                terminationMessagePolicy:
                                  type: string
                                readinessProbe:
                                  properties:
                                    periodSeconds:
                                      type: integer
                                    failureThreshold:
                                      type: integer
                                    initialDelaySeconds:
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          type: integer
                                        service:
                                          type: string
                                      type: object
                                    successThreshold:
                                      type: integer
                                    terminationGracePeriodSeconds:
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                    timeoutSeconds:
                                      type: integer
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        path:
                                          type: string
                                        scheme:
                                          type: string
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              value:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          type: array
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                terminationMessagePath:
                                  type: string
                                env:
                                  items:
                                    properties:
                                      value:
                                        type: string
                                      valueFrom:
                                        properties:
                                          configMapKeyRef:
                                            properties:
                                              optional:
                                                type: boolean
                                              key:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          fieldRef:
                                            properties:
                                              apiVersion:
                                                type: string
                                              fieldPath:
                                                type: string
                                            type: object
                                          resourceFieldRef:
                                            properties:
                                              containerName:
                                                type: string
                                              divisor:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                x-kubernetes-int-or-string: true
                                              resource:
                                                type: string
                                            type: object
                                          secretKeyRef:
                                            properties:
                                              optional:
                                                type: boolean
                                              key:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                        type: object
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                tty:
                                  type: boolean
                                args:
                                  items:
                                    type: string
                                  type: array
                                startupProbe:
                                  properties:
                                    periodSeconds:
                                      type: integer
                                    failureThreshold:
                                      type: integer
                                    initialDelaySeconds:
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          type: integer
                                        service:
                                          type: string
                                      type: object
                                    successThreshold:
                                      type: integer
                                    terminationGracePeriodSeconds:
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                    timeoutSeconds:
                                      type: integer
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        path:
                                          type: string
                                        scheme:
                                          type: string
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              value:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          type: array
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                stdinOnce:
                                  type: boolean
                                ports:
                                  items:
                                    properties:
                                      containerPort:
                                        type: integer
                                      hostPort:
                                        type: integer
                                      name:
                                        type: string
                                      protocol:
                                        type: string
                                      hostIP:
                                        type: string
                                    type: object
                                  type: array
                                workingDir:
                                  type: string
                                envFrom:
                                  items:
                                    properties:
                                      prefix:
                                        type: string
                                      configMapRef:
                                        properties:
                                          optional:
                                            type: boolean
                                          name:
                                            type: string
                                        type: object
                                      secretRef:
                                        properties:
                                          optional:
                                            type: boolean
                                          name:
                                            type: string
                                        type: object
                                    type: object
                                  type: array
                                volumeMounts:
                                  items:
                                    properties:
                                      readOnly:
                                        type: boolean
                                      subPathExpr:
                                        type: string
                                      mountPath:
                                        type: string
                                      mountPropagation:
                                        type: string
                                      subPath:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                securityContext:
                                  properties:
                                    runAsGroup:
                                      type: integer
                                    runAsNonRoot:
                                      type: boolean
                                    windowsOptions:
                                      properties:
                                        gmsaCredentialSpecName:
                                          type: string
                                        hostProcess:
                                          type: boolean
                                        gmsaCredentialSpec:
                                          type: string
                                        runAsUserName:
                                          type: string
                                      type: object
                                    allowPrivilegeEscalation:
                                      type: boolean
                                    capabilities:
                                      properties:
                                        add:
                                          items:
                                            type: string
                                          type: array
                                        drop:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    seLinuxOptions:
                                      properties:
                                        role:
                                          type: string
                                        type:
                                          type: string
                                        user:
                                          type: string
                                        level:
                                          type: string
                                      type: object
                                    readOnlyRootFilesystem:
                                      type: boolean
                                    privileged:
                                      type: boolean
                                    runAsUser:
                                      type: integer
                                    procMount:
                                      type: string
                                    seccompProfile:
                                      properties:
                                        type:
                                          type: string
                                        localhostProfile:
                                          type: string
                                      type: object
                                  type: object
                                name:
                                  type: string
                                resources:
                                  properties:
                                    limits:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      type: object
                                    claims:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                        type: object
                                      type: array
                                    requests:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                imagePullPolicy:
                                  type: string
                                volumeDevices:
                                  items:
                                    properties:
                                      devicePath:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            type: array
                          initContainers:
                            items:
                              properties:
                                lifecycle:
                                  properties:
                                    postStart:
                                      properties:
                                        tcpSocket:
                                          properties:
                                            host:
                                              type: string
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                        exec:
                                          properties:
                                            command:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        httpGet:
                                          properties:
                                            path:
                                              type: string
                                            scheme:
                                              type: string
                                            host:
                                              type: string
                                            httpHeaders:
                                              items:
                                                properties:
                                                  value:
                                                    type: string
                                                  name:
                                                    type: string
                                                type: object
                                              type: array
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                      type: object
                                    preStop:
                                      properties:
                                        tcpSocket:
                                          properties:
                                            host:
                                              type: string
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                        exec:
                                          properties:
                                            command:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        httpGet:
                                          properties:
                                            path:
                                              type: string
                                            scheme:
                                              type: string
                                            host:
                                              type: string
                                            httpHeaders:
                                              items:
                                                properties:
                                                  value:
                                                    type: string
                                                  name:
                                                    type: string
                                                type: object
                                              type: array
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          type: object
                                      type: object
                                  type: object
                                command:
                                  items:
                                    type: string
                                  type: array
                                livenessProbe:
                                  properties:
                                    periodSeconds:
                                      type: integer
                                    failureThreshold:
                                      type: integer
                                    initialDelaySeconds:
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          type: integer
                                        service:
                                          type: string
                                      type: object
                                    successThreshold:
                                      type: integer
                                    terminationGracePeriodSeconds:
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                    timeoutSeconds:
                                      type: integer
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        path:
                                          type: string
                                        scheme:
                                          type: string
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              value:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          type: array
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                stdin:
                                  type: boolean
                                image:
                                  type: string
                                terminationMessagePolicy:
                                  type: string
                                readinessProbe:
                                  properties:
                                    periodSeconds:
                                      type: integer
                                    failureThreshold:
                                      type: integer
                                    initialDelaySeconds:
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          type: integer
                                        service:
                                          type: string
                                      type: object
                                    successThreshold:
                                      type: integer
                                    terminationGracePeriodSeconds:
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                    timeoutSeconds:
                                      type: integer
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        path:
                                          type: string
                                        scheme:
                                          type: string
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              value:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          type: array
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                terminationMessagePath:
                                  type: string
                                env:
                                  items:
                                    properties:
                                      value:
                                        type: string
                                      valueFrom:
                                        properties:
                                          configMapKeyRef:
                                            properties:
                                              optional:
                                                type: boolean
                                              key:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          fieldRef:
                                            properties:
                                              apiVersion:
                                                type: string
                                              fieldPath:
                                                type: string
                                            type: object
                                          resourceFieldRef:
                                            properties:
                                              containerName:
                                                type: string
                                              divisor:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                x-kubernetes-int-or-string: true
                                              resource:
                                                type: string
                                            type: object
                                          secretKeyRef:
                                            properties:
                                              optional:
                                                type: boolean
                                              key:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                        type: object
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                tty:
                                  type: boolean
                                args:
                                  items:
                                    type: string
                                  type: array
                                startupProbe:
                                  properties:
                                    periodSeconds:
                                      type: integer
                                    failureThreshold:
                                      type: integer
                                    initialDelaySeconds:
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          type: integer
                                        service:
                                          type: string
                                      type: object
                                    successThreshold:
                                      type: integer
                                    terminationGracePeriodSeconds:
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                    timeoutSeconds:
                                      type: integer
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        path:
                                          type: string
                                        scheme:
                                          type: string
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              value:
                                                type: string
                                              name:
                                                type: string
                                            type: object
                                          type: array
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                stdinOnce:
                                  type: boolean
                                ports:
                                  items:
                                    properties:
                                      containerPort:
                                        type: integer
                                      hostPort:
                                        type: integer
                                      name:
                                        type: string
                                      protocol:
                                        type: string
                                      hostIP:
                                        type: string
                                    type: object
                                  type: array
                                workingDir:
                                  type: string
                                envFrom:
                                  items:
                                    properties:
                                      prefix:
                                        type: string
                                      configMapRef:
                                        properties:
                                          optional:
                                            type: boolean
                                          name:
                                            type: string
                                        type: object
                                      secretRef:
                                        properties:
                                          optional:
                                            type: boolean
                                          name:
                                            type: string
                                        type: object
                                    type: object
                                  type: array
                                volumeMounts:
                                  items:
                                    properties:
                                      readOnly:
                                        type: boolean
                                      subPathExpr:
                                        type: string
                                      mountPath:
                                        type: string
                                      mountPropagation:
                                        type: string
                                      subPath:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                                securityContext:
                                  properties:
                                    runAsGroup:
                                      type: integer
                                    runAsNonRoot:
                                      type: boolean
                                    windowsOptions:
                                      properties:
                                        gmsaCredentialSpecName:
                                          type: string
                                        hostProcess:
                                          type: boolean
                                        gmsaCredentialSpec:
                                          type: string
                                        runAsUserName:
                                          type: string
                                      type: object
                                    allowPrivilegeEscalation:
                                      type: boolean
                                    capabilities:
                                      properties:
                                        add:
                                          items:
                                            type: string
                                          type: array
                                        drop:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    seLinuxOptions:
                                      properties:
                                        role:
                                          type: string
                                        type:
                                          type: string
                                        user:
                                          type: string
                                        level:
                                          type: string
                                      type: object
                                    readOnlyRootFilesystem:
                                      type: boolean
                                    privileged:
                                      type: boolean
                                    runAsUser:
                                      type: integer
                                    procMount:
                                      type: string
                                    seccompProfile:
                                      properties:
                                        type:
                                          type: string
                                        localhostProfile:
                                          type: string
                                      type: object
                                  type: object
                                name:
                                  type: string
                                resources:
                                  properties:
                                    limits:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      type: object
                                    claims:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                        type: object
                                      type: array
                                    requests:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                imagePullPolicy:
                                  type: string
                                volumeDevices:
                                  items:
                                    properties:
                                      devicePath:
                                        type: string
                                      name:
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            type: array
                          priorityClassName:
                            type: string
                          tolerations:
                            items:
                              properties:
                                key:
                                  type: string
                                operator:
                                  type: string
                                tolerationSeconds:
                                  type: integer
                                value:
                                  type: string
                                effect:
                                  type: string
                              type: object
                            type: array
                          hostPID:
                            type: boolean
                          os:
                            properties:
                              name:
                                type: string
                            type: object
                          serviceAccountName:
                            type: string
                          shareProcessNamespace:
                            type: boolean
                          hostNetwork:
                            type: boolean
                          hostname:
                            type: string
                          nodeSelector:
                            additionalProperties:
                              type: string
                            type: object
                          enableServiceLinks:
                            type: boolean
                          affinity:
                            properties:
                              podAntiAffinity:
                                properties:
                                  requiredDuringSchedulingIgnoredDuringExecution:
                                    items:
                                      properties:
                                        namespaces:
                                          items:
                                            type: string
                                          type: array
                                        topologyKey:
                                          type: string
                                        labelSelector:
                                          properties:
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                  operator:
                                                    type: string
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaceSelector:
                                          properties:
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                  operator:
                                                    type: string
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                      type: object
                                    type: array
                                  preferredDuringSchedulingIgnoredDuringExecution:
                                    items:
                                      properties:
                                        podAffinityTerm:
                                          properties:
                                            namespaces:
                                              items:
                                                type: string
                                              type: array
                                            topologyKey:
                                              type: string
                                            labelSelector:
                                              properties:
                                                matchExpressions:
                                                  items:
                                                    properties:
                                                      key:
                                                        type: string
                                                      values:
                                                        items:
                                                          type: string
                                                        type: array
                                                      operator:
                                                        type: string
                                                    type: object
                                                  type: array
                                                matchLabels:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                              type: object
                                            namespaceSelector:
                                              properties:
                                                matchExpressions:
                                                  items:
                                                    properties:
                                                      key:
                                                        type: string
                                                      values:
                                                        items:
                                                          type: string
                                                        type: array
                                                      operator:
                                                        type: string
                                                    type: object
                                                  type: array
                                                matchLabels:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                              type: object
                                          type: object
                                        weight:
                                          type: integer
                                      type: object
                                    type: array
                                type: object
                              nodeAffinity:
                                properties:
                                  preferredDuringSchedulingIgnoredDuringExecution:
                                    items:
                                      properties:
                                        weight:
                                          type: integer
                                        preference:
                                          properties:
                                            matchFields:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                  operator:
                                                    type: string
                                                type: object
                                              type: array
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                  operator:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                      type: object
                                    type: array
                                  requiredDuringSchedulingIgnoredDuringExecution:
                                    properties:
                                      nodeSelectorTerms:
                                        items:
                                          properties:
                                            matchFields:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                  operator:
                                                    type: string
                                                type: object
                                              type: array
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                  operator:
                                                    type: string
                                                type: object
                                              type: array
                                          type: object
                                        type: array
                                    type: object
                                type: object
                              podAffinity:
                                properties:
                                  requiredDuringSchedulingIgnoredDuringExecution:
                                    items:
                                      properties:
                                        namespaces:
                                          items:
                                            type: string
                                          type: array
                                        topologyKey:
                                          type: string
                                        labelSelector:
                                          properties:
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                  operator:
                                                    type: string
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaceSelector:
                                          properties:
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                  operator:
                                                    type: string
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                      type: object
                                    type: array
                                  preferredDuringSchedulingIgnoredDuringExecution:
                                    items:
                                      properties:
                                        podAffinityTerm:
                                          properties:
                                            namespaces:
                                              items:
                                                type: string
                                              type: array
                                            topologyKey:
                                              type: string
                                            labelSelector:
                                              properties:
                                                matchExpressions:
                                                  items:
                                                    properties:
                                                      key:
                                                        type: string
                                                      values:
                                                        items:
                                                          type: string
                                                        type: array
                                                      operator:
                                                        type: string
                                                    type: object
                                                  type: array
                                                matchLabels:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                              type: object
                                            namespaceSelector:
                                              properties:
                                                matchExpressions:
                                                  items:
                                                    properties:
                                                      key:
                                                        type: string
                                                      values:
                                                        items:
                                                          type: string
                                                        type: array
                                                      operator:
                                                        type: string
                                                    type: object
                                                  type: array
                                                matchLabels:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                              type: object
                                          type: object
                                        weight:
                                          type: integer
                                      type: object
                                    type: array
                                type: object
                            type: object
                          readinessGates:
                            items:
                              properties:
                                conditionType:
                                  type: string
                              type: object
                            type: array
                          dnsPolicy:
                            type: string
                          hostIPC:
                            type: boolean
                          topologySpreadConstraints:
                            items:
                              properties:
                                nodeTaintsPolicy:
                                  type: string
                                topologyKey:
                                  type: string
                                maxSkew:
                                  type: integer
                                nodeAffinityPolicy:
                                  type: string
                                whenUnsatisfiable:
                                  type: string
                                matchLabelKeys:
                                  items:
                                    type: string
                                  type: array
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                          operator:
                                            type: string
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                minDomains:
                                  type: integer
                              type: object
                            type: array
                          overhead:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                            type: object
                          schedulerName:
                            type: string
                          nodeName:
                            type: string
                          preemptionPolicy:
                            type: string
                          hostAliases:
                            items:
                              properties:
                                hostnames:
                                  items:
                                    type: string
                                  type: array
                                ip:
                                  type: string
                              type: object
                            type: array
                          schedulingGates:
                            items:
                              properties:
                                name:
                                  type: string
                              type: object
                            type: array
                          runtimeClassName:
                            type: string
                          hostUsers:
                            type: boolean
                        type: object
                    type: object
                type: object
              ingress:
                description: |-
                  The deployment is, by default, exposed through a basic ingress.
                  You can change this behaviour by setting the enabled property to false.
                properties:
                  annotations:
                    additionalProperties:
                      type: string
                    description: Additional annotations to be appended to the Ingress
                      object
                    type: object
                  enabled:
                    type: boolean
                  className:
                    type: string
                type: object
              image:
                description: Custom Keycloak image to be used.
                type: string
              imagePullSecrets:
                description: Secret(s) that might be used when pulling an image from
                  a private container image registry or repository.
                items:
                  properties:
                    name:
                      type: string
                  type: object
                type: array
              additionalOptions:
                description: |-
                  Configuration of the Keycloak server.
                  expressed as a keys (reference: https://www.keycloak.org/server/all-config) and values that can be either direct values or references to secrets.
                items:
                  properties:
                    secret:
                      properties:
                        optional:
                          type: boolean
                        key:
                          type: string
                        name:
                          type: string
                      type: object
                    value:
                      type: string
                    name:
                      type: string
                  type: object
                type: array
              db:
                description: In this section you can find all properties related to
                  connect to a database.
                properties:
                  passwordSecret:
                    description: The reference to a secret holding the password of
                      the database user.
                    properties:
                      optional:
                        type: boolean
                      key:
                        type: string
                      name:
                        type: string
                    type: object
                  usernameSecret:
                    description: The reference to a secret holding the username of
                      the database user.
                    properties:
                      optional:
                        type: boolean
                      key:
                        type: string
                      name:
                        type: string
                    type: object
                  port:
                    description: "Sets the port of the default JDBC URL of the chosen\
                      \ vendor. If the `url` option is set, this option is ignored."
                    type: integer
                  schema:
                    description: The database schema to be used.
                    type: string
                  host:
                    description: "Sets the hostname of the default JDBC URL of the\
                      \ chosen vendor. If the `url` option is set, this option is\
                      \ ignored."
                    type: string
                  url:
                    description: "The full database JDBC URL. If not provided, a default\
                      \ URL is set based on the selected database vendor. For instance,\
                      \ if using 'postgres', the default JDBC URL would be 'jdbc:postgresql://localhost/keycloak'. "
                    type: string
                  poolInitialSize:
                    description: The initial size of the connection pool.
                    type: integer
                  poolMaxSize:
                    description: The maximum size of the connection pool.
                    type: integer
                  vendor:
                    description: The database vendor.
                    type: string
                  database:
                    description: "Sets the database name of the default JDBC URL of\
                      \ the chosen vendor. If the `url` option is set, this option\
                      \ is ignored."
                    type: string
                  poolMinSize:
                    description: The minimal size of the connection pool.
                    type: integer
                type: object
              features:
                description: "In this section you can configure Keycloak features,\
                  \ which should be enabled/disabled."
                properties:
                  disabled:
                    description: Disabled Keycloak features
                    items:
                      type: string
                    type: array
                  enabled:
                    description: Enabled Keycloak features
                    items:
                      type: string
                    type: array
                type: object
            type: object
          status:
            properties:
              conditions:
                items:
                  properties:
                    status:
                      properties:
                        value:
                          type: object
                      x-kubernetes-preserve-unknown-fields: true
                    lastTransitionTime:
                      type: string
                    observedGeneration:
                      type: integer
                    type:
                      type: string
                    message:
                      type: string
                  type: object
                type: array
              observedGeneration:
                type: integer
              instances:
                type: integer
              selector:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      scale:
        labelSelectorPath: .status.selector
        specReplicasPath: .spec.instances
        statusReplicasPath: .status.instances
      status: {}