apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: clusterimages.raczylo.com
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.1
  labels:
  {{- include "chart.labels" . | nindent 4 }}
spec:
  group: raczylo.com
  names:
    kind: ClusterImage
    listKind: ClusterImageList
    plural: clusterimages
    singular: clusterimage
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .spec.exportName
      name: Ref
      type: string
    - jsonPath: .spec.image
      name: Image
      type: string
    - jsonPath: .spec.tag
      name: Tag
      type: string
    - jsonPath: .spec.sha
      name: SHA
      type: string
    - jsonPath: .spec.storage
      name: Storage
      type: string
    - jsonPath: .spec.exportPath
      name: Path
      type: string
    - jsonPath: .status.progress
      name: Progress
      type: string
    - jsonPath: .status.retryCount
      name: Retries
      type: integer
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1
    schema:
      openAPIV3Schema:
        description: ClusterImage is the Schema for the clusterimages API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: ClusterImageSpec defines the desired state of ClusterImage
            properties:
              exportName:
                type: string
              exportPath:
                type: string
              fullName:
                type: string
              image:
                type: string
              imageNamespace:
                type: string
              imagePullSecrets:
                items:
                  description: |-
                    LocalObjectReference contains enough information to let you locate the
                    referenced object inside the same namespace.
                  properties:
                    name:
                      default: ""
                      description: |-
                        Name of the referent.
                        This field is effectively required, but due to backwards compatibility is
                        allowed to be empty. Instances of this type with an empty value here are
                        almost certainly wrong.
                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                type: array
              jobAnnotations:
                additionalProperties:
                  type: string
                type: object
              sha:
                type: string
              storage:
                type: string
              tag:
                type: string
            required:
            - exportName
            type: object
          status:
            description: ClusterImageStatus defines the observed state of ClusterImage
            properties:
              progress:
                type: string
              retryCount:
                default: 0
                description: default value is 0
                type: integer
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
