# See https://github.com/keycloak/keycloak-k8s-resources/blob/22.0.4/kubernetes/keycloaks.k8s.keycloak.org-v1.yml
# 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:
                      lastTransitionTime:
                        type: string
                      status:
                        x-kubernetes-preserve-unknown-fields: true
                      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: {}

