apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: usertools.sci-toolkit.konstellation.io
spec:
  group: sci-toolkit.konstellation.io
  names:
    kind: UserTools
    listKind: UserToolsList
    plural: usertools
    singular: usertool
  scope: Namespaced
  versions:
  - name: v1alpha1
    served: true
    storage: true
    schema:
      openAPIV3Schema:
        type: object
        properties:
          spec:
            type: object
            properties:
              domain:
                description: domain name
                type: string
              kdl:
                type: object
                properties:
                  enabled:
                    description: if Science Toolkit is managed by KDL
                    type: boolean
              ingress:
                type: object
                properties:
                  type:
                    description: ingress type
                    type: string
              sharedVolume:
                type: object
                properties:
                  name:
                    description: name of shared volume
                    type: string
              storage:
                type: object
                properties:
                  className:
                    description: name of the storage class
                    type: string
                  size:
                    description: size of the storage
                    type: string
              tls:
                description: enable or disable tls
                type: boolean
              username:
                description: username to create tools
                type: string
              usernameSlug:
                description: username slug to create tools
                type: string
              giteaOauth2Setup:
                type: object
                properties:
                  image:
                    type: object
                    properties:
                      repository:
                        description: image repository
                        type: string
                      tag:
                        description: image tag
                        type: string
                      pullPolicy:
                        description: image pull policy
                        type: string
              jupyter:
                type: object
                properties:
                  image:
                    type: object
                    properties:
                      repository:
                        description: image repository
                        type: string
                      tag:
                        description: image tag
                        type: string
                      pullPolicy:
                        description: image pull policy
                        type: string
              vscode:
                type: object
                properties:
                  image:
                    type: object
                    properties:
                      repository:
                        description: image repository
                        type: string
                      tag:
                        description: image tag
                        type: string
                      pullPolicy:
                        description: image pull policy
                        type: string
              repoCloner:
                type: object
                properties:
                  image:
                    type: object
                    properties:
                      repository:
                        description: image repository
                        type: string
                      tag:
                        description: image tag
                        type: string
                      pullPolicy:
                        description: image pull policy
                        type: string
              oauth2Proxy:
                type: object
                properties:
                  image:
                    type: object
                    properties:
                      repository:
                        description: image repository
                        type: string
                      tag:
                        description: image tag
                        type: string
                      pullPolicy:
                        description: image pull policy
                        type: string
