kind: CustomResourceDefinition
spec:
  group: secrets.stackable.tech
  names:
    kind: SecretClass
    plural: secretclasses
    singular: secretclass
    categories: []
    shortNames: []
  scope: Cluster
  versions:
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          type: object
          title: SecretClass
          required:
            - spec
          properties:
            spec:
              type: object
              required:
                - backend
              properties:
                backend:
                  type: object
                  oneOf:
                    - required:
                        - k8sSearch
                    - required:
                        - autoTls
                    - required:
                        - kerberosKeytab
                  properties:
                    autoTls:
                      type: object
                      required:
                        - ca
                      properties:
                        ca:
                          type: object
                          required:
                            - secret
                          properties:
                            secret:
                              type: object
                              properties:
                                name:
                                  type: string
                                  description: name is unique within a namespace to reference a secret resource.
                                namespace:
                                  type: string
                                  description: namespace defines the space within which the secret name must be
                                    unique.
                              description: SecretReference represents a Secret Reference. It has enough
                                information to retrieve secret in any namespace
                            autoGenerate:
                              type: boolean
                              default: false
                              description: Whether a new certificate authority should be generated if it does
                                not already exist
                    k8sSearch:
                      type: object
                      required:
                        - searchNamespace
                      properties:
                        searchNamespace:
                          type: object
                          oneOf:
                            - required:
                                - pod
                            - required:
                                - name
                          properties:
                            pod:
                              type: object
                            name:
                              type: string
                    kerberosKeytab:
                      type: object
                      required:
                        - admin
                        - adminKeytabSecret
                        - adminPrincipal
                        - kdc
                        - realmName
                      properties:
                        kdc:
                          type: string
                        admin:
                          type: object
                          oneOf:
                            - required:
                                - mit
                          properties:
                            mit:
                              type: object
                              required:
                                - kadminServer
                              properties:
                                kadminServer:
                                  type: string
                        realmName:
                          type: string
                        adminPrincipal:
                          type: string
                        adminKeytabSecret:
                          type: object
                          properties:
                            name:
                              type: string
                              description: name is unique within a namespace to reference a secret resource.
                            namespace:
                              type: string
                              description: namespace defines the space within which the secret name must be
                                unique.
                          description: SecretReference represents a Secret Reference. It has enough
                            information to retrieve secret in any namespace
          description: Auto-generated derived type for SecretClassSpec via `CustomResource`
      served: true
      storage: true
      subresources: {}
      additionalPrinterColumns: []
metadata:
  name: secretclasses.secrets.stackable.tech
  annotations:
    helm.sh/resource-policy: keep
apiVersion: apiextensions.k8s.io/v1
