apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.3
  name: imagesets.operator.tigera.io
spec:
  group: operator.tigera.io
  names:
    kind: ImageSet
    listKind: ImageSetList
    plural: imagesets
    singular: imageset
  scope: Cluster
  versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: |-
            ImageSet is used to specify image digests for the images that the operator deploys.
            The name of the ImageSet is expected to be in the format `<variant>-<release>`.
            The `variant` used is `enterprise` if the InstallationSpec Variant is
            `TigeraSecureEnterprise` otherwise it is `calico`.
            The `release` must match the version of the variant that the operator is built to deploy,
            this version can be obtained by passing the `--version` flag to the operator binary.
          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: ImageSetSpec defines the desired state of ImageSet.
              properties:
                images:
                  description: |-
                    Images is the list of images to use digests. All images that the operator will deploy
                    must be specified.
                  items:
                    properties:
                      digest:
                        description: |-
                          Digest is the image identifier that will be used for the Image.
                          The field should not include a leading `@` and must be prefixed with `sha256:`.
                        type: string
                      image:
                        description: |-
                          Image is an image that the operator deploys and instead of using the built in tag
                          the operator will use the Digest for the image identifier.
                          The value should be the *original* image name without registry or tag or digest.
                          For the image `docker.io/calico/node:v3.17.1` it should be represented as `calico/node`
                          The "Installation" spec allows defining custom image registries, paths or prefixes.
                          Even for custom images such as example.com/custompath/customprefix-calico-node:v3.17.1,
                          this value should still be `calico/node`.
                        type: string
                    required:
                      - digest
                      - image
                    type: object
                  type: array
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
