# Generated by Fabric8 CRDGenerator, manual edits might get overwritten!
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: gerrits.gerritoperator.google.com
spec:
  group: gerritoperator.google.com
  names:
    kind: Gerrit
    plural: gerrits
    shortNames:
    - gcr
    singular: gerrit
  scope: Namespaced
  versions:
  - name: v1alpha17
    schema:
      openAPIV3Schema:
        properties:
          spec:
            properties:
              containerImages:
                properties:
                  imagePullPolicy:
                    type: string
                  imagePullSecrets:
                    items:
                      properties:
                        name:
                          type: string
                      type: object
                    type: array
                  busyBox:
                    properties:
                      registry:
                        type: string
                      tag:
                        type: string
                    type: object
                  gerritImages:
                    properties:
                      registry:
                        type: string
                      org:
                        type: string
                      tag:
                        type: string
                    type: object
                type: object
              storage:
                properties:
                  pluginCache:
                    properties:
                      enabled:
                        type: boolean
                    type: object
                  storageClasses:
                    properties:
                      readWriteOnce:
                        type: string
                      readWriteMany:
                        type: string
                      nfsWorkaround:
                        properties:
                          enabled:
                            type: boolean
                          chownOnStartup:
                            type: boolean
                          idmapdConfig:
                            type: string
                        type: object
                    type: object
                  sharedStorage:
                    properties:
                      externalPVC:
                        properties:
                          enabled:
                            type: boolean
                          claimName:
                            type: string
                        type: object
                      size:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      volumeName:
                        type: string
                      selector:
                        properties:
                          matchExpressions:
                            items:
                              properties:
                                key:
                                  type: string
                                operator:
                                  type: string
                                values:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            type: array
                          matchLabels:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                    type: object
                type: object
              ingress:
                properties:
                  enabled:
                    type: boolean
                  host:
                    type: string
                  tlsEnabled:
                    type: boolean
                  ssh:
                    properties:
                      enabled:
                        type: boolean
                    type: object
                type: object
              refdb:
                properties:
                  database:
                    enum:
                    - NONE
                    - ZOOKEEPER
                    - SPANNER
                    type: string
                  zookeeper:
                    properties:
                      connectString:
                        type: string
                      rootNode:
                        type: string
                    type: object
                  spanner:
                    properties:
                      projectName:
                        type: string
                      instance:
                        type: string
                      database:
                        type: string
                    type: object
                type: object
              serverId:
                type: string
              serviceAccount:
                type: string
              tolerations:
                items:
                  properties:
                    effect:
                      type: string
                    key:
                      type: string
                    operator:
                      type: string
                    tolerationSeconds:
                      type: integer
                    value:
                      type: string
                  type: object
                type: array
              affinity:
                properties:
                  nodeAffinity:
                    properties:
                      preferredDuringSchedulingIgnoredDuringExecution:
                        items:
                          properties:
                            preference:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                                matchFields:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                              type: object
                            weight:
                              type: integer
                          type: object
                        type: array
                      requiredDuringSchedulingIgnoredDuringExecution:
                        properties:
                          nodeSelectorTerms:
                            items:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                                matchFields:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                              type: object
                            type: array
                        type: object
                    type: object
                  podAffinity:
                    properties:
                      preferredDuringSchedulingIgnoredDuringExecution:
                        items:
                          properties:
                            podAffinityTerm:
                              properties:
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaceSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaces:
                                  items:
                                    type: string
                                  type: array
                                topologyKey:
                                  type: string
                              type: object
                            weight:
                              type: integer
                          type: object
                        type: array
                      requiredDuringSchedulingIgnoredDuringExecution:
                        items:
                          properties:
                            labelSelector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            namespaceSelector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            namespaces:
                              items:
                                type: string
                              type: array
                            topologyKey:
                              type: string
                          type: object
                        type: array
                    type: object
                  podAntiAffinity:
                    properties:
                      preferredDuringSchedulingIgnoredDuringExecution:
                        items:
                          properties:
                            podAffinityTerm:
                              properties:
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaceSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaces:
                                  items:
                                    type: string
                                  type: array
                                topologyKey:
                                  type: string
                              type: object
                            weight:
                              type: integer
                          type: object
                        type: array
                      requiredDuringSchedulingIgnoredDuringExecution:
                        items:
                          properties:
                            labelSelector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            namespaceSelector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            namespaces:
                              items:
                                type: string
                              type: array
                            topologyKey:
                              type: string
                          type: object
                        type: array
                    type: object
                type: object
              topologySpreadConstraints:
                items:
                  properties:
                    labelSelector:
                      properties:
                        matchExpressions:
                          items:
                            properties:
                              key:
                                type: string
                              operator:
                                type: string
                              values:
                                items:
                                  type: string
                                type: array
                            type: object
                          type: array
                        matchLabels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    matchLabelKeys:
                      items:
                        type: string
                      type: array
                    maxSkew:
                      type: integer
                    minDomains:
                      type: integer
                    nodeAffinityPolicy:
                      type: string
                    nodeTaintsPolicy:
                      type: string
                    topologyKey:
                      type: string
                    whenUnsatisfiable:
                      type: string
                  type: object
                type: array
              priorityClassName:
                type: string
              replicas:
                type: integer
              updatePartition:
                type: integer
              resources:
                properties:
                  claims:
                    items:
                      properties:
                        name:
                          type: string
                      type: object
                    type: array
                  limits:
                    additionalProperties:
                      anyOf:
                      - type: integer
                      - type: string
                      x-kubernetes-int-or-string: true
                    type: object
                  requests:
                    additionalProperties:
                      anyOf:
                      - type: integer
                      - type: string
                      x-kubernetes-int-or-string: true
                    type: object
                type: object
              startupProbe:
                properties:
                  exec:
                    properties:
                      command:
                        items:
                          type: string
                        type: array
                    type: object
                  failureThreshold:
                    type: integer
                  grpc:
                    properties:
                      port:
                        type: integer
                      service:
                        type: string
                    type: object
                  httpGet:
                    properties:
                      host:
                        type: string
                      httpHeaders:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                          type: object
                        type: array
                      path:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      scheme:
                        type: string
                    type: object
                  initialDelaySeconds:
                    type: integer
                  periodSeconds:
                    type: integer
                  successThreshold:
                    type: integer
                  tcpSocket:
                    properties:
                      host:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                    type: object
                  terminationGracePeriodSeconds:
                    type: integer
                  timeoutSeconds:
                    type: integer
                type: object
              readinessProbe:
                properties:
                  exec:
                    properties:
                      command:
                        items:
                          type: string
                        type: array
                    type: object
                  failureThreshold:
                    type: integer
                  grpc:
                    properties:
                      port:
                        type: integer
                      service:
                        type: string
                    type: object
                  httpGet:
                    properties:
                      host:
                        type: string
                      httpHeaders:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                          type: object
                        type: array
                      path:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      scheme:
                        type: string
                    type: object
                  initialDelaySeconds:
                    type: integer
                  periodSeconds:
                    type: integer
                  successThreshold:
                    type: integer
                  tcpSocket:
                    properties:
                      host:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                    type: object
                  terminationGracePeriodSeconds:
                    type: integer
                  timeoutSeconds:
                    type: integer
                type: object
              livenessProbe:
                properties:
                  exec:
                    properties:
                      command:
                        items:
                          type: string
                        type: array
                    type: object
                  failureThreshold:
                    type: integer
                  grpc:
                    properties:
                      port:
                        type: integer
                      service:
                        type: string
                    type: object
                  httpGet:
                    properties:
                      host:
                        type: string
                      httpHeaders:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                          type: object
                        type: array
                      path:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      scheme:
                        type: string
                    type: object
                  initialDelaySeconds:
                    type: integer
                  periodSeconds:
                    type: integer
                  successThreshold:
                    type: integer
                  tcpSocket:
                    properties:
                      host:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                    type: object
                  terminationGracePeriodSeconds:
                    type: integer
                  timeoutSeconds:
                    type: integer
                type: object
              gracefulStopTimeout:
                type: integer
              service:
                properties:
                  sshPort:
                    type: integer
                  type:
                    type: string
                  httpPort:
                    type: integer
                type: object
              site:
                properties:
                  size:
                    anyOf:
                    - type: integer
                    - type: string
                    x-kubernetes-int-or-string: true
                type: object
              plugins:
                items:
                  properties:
                    installAsLibrary:
                      type: boolean
                    name:
                      type: string
                    url:
                      type: string
                    sha1:
                      type: string
                  type: object
                type: array
              libs:
                items:
                  properties:
                    name:
                      type: string
                    url:
                      type: string
                    sha1:
                      type: string
                  type: object
                type: array
              configFiles:
                additionalProperties:
                  type: string
                type: object
              secretRef:
                type: string
              mode:
                enum:
                - PRIMARY
                - REPLICA
                type: string
              debug:
                properties:
                  enabled:
                    type: boolean
                  suspend:
                    type: boolean
                type: object
            type: object
          status:
            properties:
              ready:
                type: boolean
              appliedConfigMapVersions:
                additionalProperties:
                  type: string
                type: object
              appliedSecretVersions:
                additionalProperties:
                  type: string
                type: object
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
