apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: backingimagedatasources.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: BackingImageDataSource
    listKind: BackingImageDataSourceList
    plural: backingimagedatasources
    shortNames:
    - lhbids
    singular: backingimagedatasource
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The current state of the pod used to provision the backing image file from source
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The data source type
      jsonPath: .spec.sourceType
      name: SourceType
      type: string
    - description: The node the backing image file will be prepared on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk the backing image file will be prepared on
      jsonPath: .spec.diskUUID
      name: DiskUUID
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackingImageDataSource is where Longhorn stores backing image data source object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The system generated UUID of the provisioned backing image file
      jsonPath: .spec.uuid
      name: UUID
      type: string
    - description: The current state of the pod used to provision the backing image file from source
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The data source type
      jsonPath: .spec.sourceType
      name: SourceType
      type: string
    - description: The backing image file size
      jsonPath: .status.size
      name: Size
      type: string
    - description: The node the backing image file will be prepared on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk the backing image file will be prepared on
      jsonPath: .spec.diskUUID
      name: DiskUUID
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackingImageDataSource is where Longhorn stores backing image data source object.
        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: BackingImageDataSourceSpec defines the desired state of the Longhorn backing image data source
            properties:
              checksum:
                type: string
              diskPath:
                type: string
              diskUUID:
                type: string
              fileTransferred:
                type: boolean
              nodeID:
                type: string
              parameters:
                additionalProperties:
                  type: string
                type: object
              sourceType:
                enum:
                - download
                - upload
                - export-from-volume
                type: string
              uuid:
                type: string
            type: object
          status:
            description: BackingImageDataSourceStatus defines the observed state of the Longhorn backing image data source
            properties:
              checksum:
                type: string
              currentState:
                type: string
              ip:
                type: string
              message:
                type: string
              ownerID:
                type: string
              progress:
                type: integer
              runningParameters:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              size:
                format: int64
                type: integer
              storageIP:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: backingimagemanagers.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: BackingImageManager
    listKind: BackingImageManagerList
    plural: backingimagemanagers
    shortNames:
    - lhbim
    singular: backingimagemanager
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The current state of the manager
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The image the manager pod will use
      jsonPath: .spec.image
      name: Image
      type: string
    - description: The node the manager is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk the manager is responsible for
      jsonPath: .spec.diskUUID
      name: DiskUUID
      type: string
    - description: The disk path the manager is using
      jsonPath: .spec.diskPath
      name: DiskPath
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackingImageManager is where Longhorn stores backing image manager object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The current state of the manager
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The image the manager pod will use
      jsonPath: .spec.image
      name: Image
      type: string
    - description: The node the manager is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk the manager is responsible for
      jsonPath: .spec.diskUUID
      name: DiskUUID
      type: string
    - description: The disk path the manager is using
      jsonPath: .spec.diskPath
      name: DiskPath
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackingImageManager is where Longhorn stores backing image manager object.
        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: BackingImageManagerSpec defines the desired state of the Longhorn backing image manager
            properties:
              backingImages:
                additionalProperties:
                  type: string
                type: object
              diskPath:
                type: string
              diskUUID:
                type: string
              image:
                type: string
              nodeID:
                type: string
            type: object
          status:
            description: BackingImageManagerStatus defines the observed state of the Longhorn backing image manager
            properties:
              apiMinVersion:
                type: integer
              apiVersion:
                type: integer
              backingImageFileMap:
                additionalProperties:
                  properties:
                    currentChecksum:
                      type: string
                    message:
                      type: string
                    name:
                      type: string
                    progress:
                      type: integer
                    senderManagerAddress:
                      type: string
                    sendingReference:
                      type: integer
                    size:
                      format: int64
                      type: integer
                    state:
                      type: string
                    uuid:
                      type: string
                  type: object
                nullable: true
                type: object
              currentState:
                type: string
              ip:
                type: string
              ownerID:
                type: string
              storageIP:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: backingimages.longhorn.io
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: longhorn-conversion-webhook
          namespace: {{ include "release_namespace" . }}
          path: /v1/webhook/conversion
          port: 9501
      conversionReviewVersions:
      - v1beta2
      - v1beta1
  group: longhorn.io
  names:
    kind: BackingImage
    listKind: BackingImageList
    plural: backingimages
    shortNames:
    - lhbi
    singular: backingimage
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The backing image name
      jsonPath: .spec.image
      name: Image
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackingImage is where Longhorn stores backing image object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The system generated UUID
      jsonPath: .status.uuid
      name: UUID
      type: string
    - description: The source of the backing image file data
      jsonPath: .spec.sourceType
      name: SourceType
      type: string
    - description: The backing image file size in each disk
      jsonPath: .status.size
      name: Size
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackingImage is where Longhorn stores backing image object.
        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: BackingImageSpec defines the desired state of the Longhorn backing image
            properties:
              checksum:
                type: string
              disks:
                additionalProperties:
                  type: string
                type: object
              sourceParameters:
                additionalProperties:
                  type: string
                type: object
              sourceType:
                enum:
                - download
                - upload
                - export-from-volume
                type: string
            type: object
          status:
            description: BackingImageStatus defines the observed state of the Longhorn backing image status
            properties:
              checksum:
                type: string
              diskFileStatusMap:
                additionalProperties:
                  properties:
                    lastStateTransitionTime:
                      type: string
                    message:
                      type: string
                    progress:
                      type: integer
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              diskLastRefAtMap:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              ownerID:
                type: string
              size:
                format: int64
                type: integer
              uuid:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: backups.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Backup
    listKind: BackupList
    plural: backups
    shortNames:
    - lhb
    singular: backup
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The snapshot name
      jsonPath: .status.snapshotName
      name: SnapshotName
      type: string
    - description: The snapshot size
      jsonPath: .status.size
      name: SnapshotSize
      type: string
    - description: The snapshot creation time
      jsonPath: .status.snapshotCreatedAt
      name: SnapshotCreatedAt
      type: string
    - description: The backup state
      jsonPath: .status.state
      name: State
      type: string
    - description: The backup last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Backup is where Longhorn stores backup object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The snapshot name
      jsonPath: .status.snapshotName
      name: SnapshotName
      type: string
    - description: The snapshot size
      jsonPath: .status.size
      name: SnapshotSize
      type: string
    - description: The snapshot creation time
      jsonPath: .status.snapshotCreatedAt
      name: SnapshotCreatedAt
      type: string
    - description: The backup state
      jsonPath: .status.state
      name: State
      type: string
    - description: The backup last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Backup is where Longhorn stores backup object.
        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: BackupSpec defines the desired state of the Longhorn backup
            properties:
              labels:
                additionalProperties:
                  type: string
                description: The labels of snapshot backup.
                type: object
              snapshotName:
                description: The snapshot name.
                type: string
              syncRequestedAt:
                description: The time to request run sync the remote backup.
                format: date-time
                nullable: true
                type: string
            type: object
          status:
            description: BackupStatus defines the observed state of the Longhorn backup
            properties:
              backupCreatedAt:
                description: The snapshot backup upload finished time.
                type: string
              compressionMethod:
                description: Compression method
                type: string
              error:
                description: The error message when taking the snapshot backup.
                type: string
              labels:
                additionalProperties:
                  type: string
                description: The labels of snapshot backup.
                nullable: true
                type: object
              lastSyncedAt:
                description: The last time that the backup was synced with the remote backup target.
                format: date-time
                nullable: true
                type: string
              messages:
                additionalProperties:
                  type: string
                description: The error messages when calling longhorn engine on listing or inspecting backups.
                nullable: true
                type: object
              ownerID:
                description: The node ID on which the controller is responsible to reconcile this backup CR.
                type: string
              progress:
                description: The snapshot backup progress.
                type: integer
              replicaAddress:
                description: The address of the replica that runs snapshot backup.
                type: string
              size:
                description: The snapshot size.
                type: string
              snapshotCreatedAt:
                description: The snapshot creation time.
                type: string
              snapshotName:
                description: The snapshot name.
                type: string
              state:
                description: The backup creation state. Can be "", "InProgress", "Completed", "Error", "Unknown".
                type: string
              url:
                description: The snapshot backup URL.
                type: string
              volumeBackingImageName:
                description: The volume's backing image name.
                type: string
              volumeCreated:
                description: The volume creation time.
                type: string
              volumeName:
                description: The volume name.
                type: string
              volumeSize:
                description: The volume size.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: backuptargets.longhorn.io
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: longhorn-conversion-webhook
          namespace: {{ include "release_namespace" . }}
          path: /v1/webhook/conversion
          port: 9501
      conversionReviewVersions:
      - v1beta2
      - v1beta1
  group: longhorn.io
  names:
    kind: BackupTarget
    listKind: BackupTargetList
    plural: backuptargets
    shortNames:
    - lhbt
    singular: backuptarget
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The backup target URL
      jsonPath: .spec.backupTargetURL
      name: URL
      type: string
    - description: The backup target credential secret
      jsonPath: .spec.credentialSecret
      name: Credential
      type: string
    - description: The backup target poll interval
      jsonPath: .spec.pollInterval
      name: LastBackupAt
      type: string
    - description: Indicate whether the backup target is available or not
      jsonPath: .status.available
      name: Available
      type: boolean
    - description: The backup target last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackupTarget is where Longhorn stores backup target object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The backup target URL
      jsonPath: .spec.backupTargetURL
      name: URL
      type: string
    - description: The backup target credential secret
      jsonPath: .spec.credentialSecret
      name: Credential
      type: string
    - description: The backup target poll interval
      jsonPath: .spec.pollInterval
      name: LastBackupAt
      type: string
    - description: Indicate whether the backup target is available or not
      jsonPath: .status.available
      name: Available
      type: boolean
    - description: The backup target last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackupTarget is where Longhorn stores backup target object.
        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: BackupTargetSpec defines the desired state of the Longhorn backup target
            properties:
              backupTargetURL:
                description: The backup target URL.
                type: string
              credentialSecret:
                description: The backup target credential secret.
                type: string
              pollInterval:
                description: The interval that the cluster needs to run sync with the backup target.
                type: string
              syncRequestedAt:
                description: The time to request run sync the remote backup target.
                format: date-time
                nullable: true
                type: string
            type: object
          status:
            description: BackupTargetStatus defines the observed state of the Longhorn backup target
            properties:
              available:
                description: Available indicates if the remote backup target is available or not.
                type: boolean
              conditions:
                description: Records the reason on why the backup target is unavailable.
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              lastSyncedAt:
                description: The last time that the controller synced with the remote backup target.
                format: date-time
                nullable: true
                type: string
              ownerID:
                description: The node ID on which the controller is responsible to reconcile this backup target CR.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: backupvolumes.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: BackupVolume
    listKind: BackupVolumeList
    plural: backupvolumes
    shortNames:
    - lhbv
    singular: backupvolume
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The backup volume creation time
      jsonPath: .status.createdAt
      name: CreatedAt
      type: string
    - description: The backup volume last backup name
      jsonPath: .status.lastBackupName
      name: LastBackupName
      type: string
    - description: The backup volume last backup time
      jsonPath: .status.lastBackupAt
      name: LastBackupAt
      type: string
    - description: The backup volume last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: BackupVolume is where Longhorn stores backup volume object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The backup volume creation time
      jsonPath: .status.createdAt
      name: CreatedAt
      type: string
    - description: The backup volume last backup name
      jsonPath: .status.lastBackupName
      name: LastBackupName
      type: string
    - description: The backup volume last backup time
      jsonPath: .status.lastBackupAt
      name: LastBackupAt
      type: string
    - description: The backup volume last synced time
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: BackupVolume is where Longhorn stores backup volume object.
        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: BackupVolumeSpec defines the desired state of the Longhorn backup volume
            properties:
              syncRequestedAt:
                description: The time to request run sync the remote backup volume.
                format: date-time
                nullable: true
                type: string
            type: object
          status:
            description: BackupVolumeStatus defines the observed state of the Longhorn backup volume
            properties:
              backingImageChecksum:
                description: the backing image checksum.
                type: string
              backingImageName:
                description: The backing image name.
                type: string
              createdAt:
                description: The backup volume creation time.
                type: string
              dataStored:
                description: The backup volume block count.
                type: string
              labels:
                additionalProperties:
                  type: string
                description: The backup volume labels.
                nullable: true
                type: object
              lastBackupAt:
                description: The latest volume backup time.
                type: string
              lastBackupName:
                description: The latest volume backup name.
                type: string
              lastModificationTime:
                description: The backup volume config last modification time.
                format: date-time
                nullable: true
                type: string
              lastSyncedAt:
                description: The last time that the backup volume was synced into the cluster.
                format: date-time
                nullable: true
                type: string
              messages:
                additionalProperties:
                  type: string
                description: The error messages when call longhorn engine on list or inspect backup volumes.
                nullable: true
                type: object
              ownerID:
                description: The node ID on which the controller is responsible to reconcile this backup volume CR.
                type: string
              size:
                description: The backup volume size.
                type: string
              storageClassName:
                description: the storage class name of pv/pvc binding with the volume.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: engineimages.longhorn.io
spec:
  preserveUnknownFields: false
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: longhorn-conversion-webhook
          namespace: {{ include "release_namespace" . }}
          path: /v1/webhook/conversion
          port: 9501
      conversionReviewVersions:
      - v1beta2
      - v1beta1
  group: longhorn.io
  names:
    kind: EngineImage
    listKind: EngineImageList
    plural: engineimages
    shortNames:
    - lhei
    singular: engineimage
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: State of the engine image
      jsonPath: .status.state
      name: State
      type: string
    - description: The Longhorn engine image
      jsonPath: .spec.image
      name: Image
      type: string
    - description: Number of resources using the engine image
      jsonPath: .status.refCount
      name: RefCount
      type: integer
    - description: The build date of the engine image
      jsonPath: .status.buildDate
      name: BuildDate
      type: date
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: EngineImage is where Longhorn stores engine image object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: State of the engine image
      jsonPath: .status.state
      name: State
      type: string
    - description: The Longhorn engine image
      jsonPath: .spec.image
      name: Image
      type: string
    - description: Number of resources using the engine image
      jsonPath: .status.refCount
      name: RefCount
      type: integer
    - description: The build date of the engine image
      jsonPath: .status.buildDate
      name: BuildDate
      type: date
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: EngineImage is where Longhorn stores engine image object.
        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: EngineImageSpec defines the desired state of the Longhorn engine image
            properties:
              image:
                minLength: 1
                type: string
            required:
            - image
            type: object
          status:
            description: EngineImageStatus defines the observed state of the Longhorn engine image
            properties:
              buildDate:
                type: string
              cliAPIMinVersion:
                type: integer
              cliAPIVersion:
                type: integer
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              controllerAPIMinVersion:
                type: integer
              controllerAPIVersion:
                type: integer
              dataFormatMinVersion:
                type: integer
              dataFormatVersion:
                type: integer
              gitCommit:
                type: string
              noRefSince:
                type: string
              nodeDeploymentMap:
                additionalProperties:
                  type: boolean
                nullable: true
                type: object
              ownerID:
                type: string
              refCount:
                type: integer
              state:
                type: string
              version:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: engines.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Engine
    listKind: EngineList
    plural: engines
    shortNames:
    - lhe
    singular: engine
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The current state of the engine
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The node that the engine is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The instance manager of the engine
      jsonPath: .status.instanceManagerName
      name: InstanceManager
      type: string
    - description: The current image of the engine
      jsonPath: .status.currentImage
      name: Image
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Engine is where Longhorn stores engine object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The current state of the engine
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The node that the engine is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The instance manager of the engine
      jsonPath: .status.instanceManagerName
      name: InstanceManager
      type: string
    - description: The current image of the engine
      jsonPath: .status.currentImage
      name: Image
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Engine is where Longhorn stores engine object.
        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: EngineSpec defines the desired state of the Longhorn engine
            properties:
              active:
                type: boolean
              backendStoreDriver:
                enum:
                - v1
                - v2
                type: string
              backupVolume:
                type: string
              desireState:
                type: string
              disableFrontend:
                type: boolean
              engineImage:
                type: string
              frontend:
                enum:
                - blockdev
                - iscsi
                - nvmf
                - ""
                type: string
              logRequested:
                type: boolean
              nodeID:
                type: string
              replicaAddressMap:
                additionalProperties:
                  type: string
                type: object
              requestedBackupRestore:
                type: string
              requestedDataSource:
                type: string
              revisionCounterDisabled:
                type: boolean
              salvageRequested:
                type: boolean
              unmapMarkSnapChainRemovedEnabled:
                type: boolean
              upgradedReplicaAddressMap:
                additionalProperties:
                  type: string
                type: object
              volumeName:
                type: string
              volumeSize:
                format: int64
                type: string
            type: object
          status:
            description: EngineStatus defines the observed state of the Longhorn engine
            properties:
              backupStatus:
                additionalProperties:
                  properties:
                    backupURL:
                      type: string
                    error:
                      type: string
                    progress:
                      type: integer
                    replicaAddress:
                      type: string
                    snapshotName:
                      type: string
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              cloneStatus:
                additionalProperties:
                  properties:
                    error:
                      type: string
                    fromReplicaAddress:
                      type: string
                    isCloning:
                      type: boolean
                    progress:
                      type: integer
                    snapshotName:
                      type: string
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              currentImage:
                type: string
              currentReplicaAddressMap:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              currentSize:
                format: int64
                type: string
              currentState:
                type: string
              endpoint:
                type: string
              instanceManagerName:
                type: string
              ip:
                type: string
              isExpanding:
                type: boolean
              lastExpansionError:
                type: string
              lastExpansionFailedAt:
                type: string
              lastRestoredBackup:
                type: string
              logFetched:
                type: boolean
              ownerID:
                type: string
              port:
                type: integer
              purgeStatus:
                additionalProperties:
                  properties:
                    error:
                      type: string
                    isPurging:
                      type: boolean
                    progress:
                      type: integer
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              rebuildStatus:
                additionalProperties:
                  properties:
                    error:
                      type: string
                    fromReplicaAddress:
                      type: string
                    isRebuilding:
                      type: boolean
                    progress:
                      type: integer
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              replicaModeMap:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              restoreStatus:
                additionalProperties:
                  properties:
                    backupURL:
                      type: string
                    currentRestoringBackup:
                      type: string
                    error:
                      type: string
                    filename:
                      type: string
                    isRestoring:
                      type: boolean
                    lastRestored:
                      type: string
                    progress:
                      type: integer
                    state:
                      type: string
                  type: object
                nullable: true
                type: object
              salvageExecuted:
                type: boolean
              snapshots:
                additionalProperties:
                  properties:
                    children:
                      additionalProperties:
                        type: boolean
                      nullable: true
                      type: object
                    created:
                      type: string
                    labels:
                      additionalProperties:
                        type: string
                      nullable: true
                      type: object
                    name:
                      type: string
                    parent:
                      type: string
                    removed:
                      type: boolean
                    size:
                      type: string
                    usercreated:
                      type: boolean
                  type: object
                nullable: true
                type: object
              snapshotsError:
                type: string
              started:
                type: boolean
              storageIP:
                type: string
              unmapMarkSnapChainRemovedEnabled:
                type: boolean
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: instancemanagers.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: InstanceManager
    listKind: InstanceManagerList
    plural: instancemanagers
    shortNames:
    - lhim
    singular: instancemanager
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The state of the instance manager
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The type of the instance manager (engine or replica)
      jsonPath: .spec.type
      name: Type
      type: string
    - description: The node that the instance manager is running on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: InstanceManager is where Longhorn stores instance manager object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The state of the instance manager
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The type of the instance manager (engine or replica)
      jsonPath: .spec.type
      name: Type
      type: string
    - description: The node that the instance manager is running on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: InstanceManager is where Longhorn stores instance manager object.
        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: InstanceManagerSpec defines the desired state of the Longhorn instancer manager
            properties:
              image:
                type: string
              nodeID:
                type: string
              type:
                enum:
                - aio
                - engine
                - replica
                type: string
            type: object
          status:
            description: InstanceManagerStatus defines the observed state of the Longhorn instance manager
            properties:
              apiMinVersion:
                type: integer
              apiVersion:
                type: integer
              proxyApiMinVersion:
                type: integer
              proxyApiVersion:
                type: integer
              currentState:
                type: string
              instanceEngines:
                additionalProperties:
                  properties:
                    spec:
                      properties:
                        backendStoreDriver:
                          type: string
                        name:
                          type: string
                      type: object
                    status:
                      properties:
                        endpoint:
                          type: string
                        errorMsg:
                          type: string
                        listen:
                          type: string
                        portEnd:
                          format: int32
                          type: integer
                        portStart:
                          format: int32
                          type: integer
                        resourceVersion:
                          format: int64
                          type: integer
                        state:
                          type: string
                        type:
                          type: string
                      type: object
                  type: object
                nullable: true
                type: object
              instanceReplicas:
                additionalProperties:
                  properties:
                    spec:
                      properties:
                        backendStoreDriver:
                          type: string
                        name:
                          type: string
                      type: object
                    status:
                      properties:
                        endpoint:
                          type: string
                        errorMsg:
                          type: string
                        listen:
                          type: string
                        portEnd:
                          format: int32
                          type: integer
                        portStart:
                          format: int32
                          type: integer
                        resourceVersion:
                          format: int64
                          type: integer
                        state:
                          type: string
                        type:
                          type: string
                      type: object
                  type: object
                nullable: true
                type: object
              instances:
                additionalProperties:
                  properties:
                    spec:
                      properties:
                        backendStoreDriver:
                          type: string
                        name:
                          type: string
                      type: object
                    status:
                      properties:
                        endpoint:
                          type: string
                        errorMsg:
                          type: string
                        listen:
                          type: string
                        portEnd:
                          format: int32
                          type: integer
                        portStart:
                          format: int32
                          type: integer
                        resourceVersion:
                          format: int64
                          type: integer
                        state:
                          type: string
                        type:
                          type: string
                      type: object
                  type: object
                nullable: true
                description: 'Deprecated: Replaced by InstanceEngines and InstanceReplicas'
                type: object
              ip:
                type: string
              ownerID:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: nodes.longhorn.io
spec:
  preserveUnknownFields: false
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: longhorn-conversion-webhook
          namespace: {{ include "release_namespace" . }}
          path: /v1/webhook/conversion
          port: 9501
      conversionReviewVersions:
      - v1beta2
      - v1beta1
  group: longhorn.io
  names:
    kind: Node
    listKind: NodeList
    plural: nodes
    shortNames:
    - lhn
    singular: node
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: Indicate whether the node is ready
      jsonPath: .status.conditions['Ready']['status']
      name: Ready
      type: string
    - description: Indicate whether the user disabled/enabled replica scheduling for the node
      jsonPath: .spec.allowScheduling
      name: AllowScheduling
      type: boolean
    - description: Indicate whether Longhorn can schedule replicas on the node
      jsonPath: .status.conditions['Schedulable']['status']
      name: Schedulable
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Node is where Longhorn stores Longhorn node object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: Indicate whether the node is ready
      jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - description: Indicate whether the user disabled/enabled replica scheduling for the node
      jsonPath: .spec.allowScheduling
      name: AllowScheduling
      type: boolean
    - description: Indicate whether Longhorn can schedule replicas on the node
      jsonPath: .status.conditions[?(@.type=='Schedulable')].status
      name: Schedulable
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Node is where Longhorn stores Longhorn node object.
        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: NodeSpec defines the desired state of the Longhorn node
            properties:
              allowScheduling:
                type: boolean
              disks:
                additionalProperties:
                  properties:
                    allowScheduling:
                      type: boolean
                    evictionRequested:
                      type: boolean
                    path:
                      type: string
                    storageReserved:
                      format: int64
                      type: integer
                    tags:
                      items:
                        type: string
                      type: array
                    diskType:
                      enum:
                      - filesystem
                      - block
                      type: string
                  type: object
                type: object
              evictionRequested:
                type: boolean
              instanceManagerCPURequest:
                type: integer
              name:
                type: string
              tags:
                items:
                  type: string
                type: array
            type: object
          status:
            description: NodeStatus defines the observed state of the Longhorn node
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              diskStatus:
                additionalProperties:
                  properties:
                    conditions:
                      items:
                        properties:
                          lastProbeTime:
                            description: Last time we probed the condition.
                            type: string
                          lastTransitionTime:
                            description: Last time the condition transitioned from one status to another.
                            type: string
                          message:
                            description: Human-readable message indicating details about last transition.
                            type: string
                          reason:
                            description: Unique, one-word, CamelCase reason for the condition's last transition.
                            type: string
                          status:
                            description: Status is the status of the condition. Can be True, False, Unknown.
                            type: string
                          type:
                            description: Type is the type of the condition.
                            type: string
                        type: object
                      nullable: true
                      type: array
                    diskType:
                      type: string
                    diskUUID:
                      type: string
                    scheduledReplica:
                      additionalProperties:
                        format: int64
                        type: integer
                      nullable: true
                      type: object
                    storageAvailable:
                      format: int64
                      type: integer
                    storageMaximum:
                      format: int64
                      type: integer
                    storageScheduled:
                      format: int64
                      type: integer
                  type: object
                nullable: true
                type: object
              region:
                type: string
              snapshotCheckStatus:
                properties:
                  lastPeriodicCheckedAt:
                    format: date-time
                    type: string
                  snapshotCheckState:
                    type: string
                type: object
              zone:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: orphans.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Orphan
    listKind: OrphanList
    plural: orphans
    shortNames:
    - lho
    singular: orphan
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The type of the orphan
      jsonPath: .spec.orphanType
      name: Type
      type: string
    - description: The node that the orphan is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Orphan is where Longhorn stores orphan object.
        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: OrphanSpec defines the desired state of the Longhorn orphaned data
            properties:
              nodeID:
                description: The node ID on which the controller is responsible to reconcile this orphan CR.
                type: string
              orphanType:
                description: The type of the orphaned data. Can be "replica".
                type: string
              parameters:
                additionalProperties:
                  type: string
                description: The parameters of the orphaned data
                type: object
            type: object
          status:
            description: OrphanStatus defines the observed state of the Longhorn orphaned data
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              ownerID:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels:
    longhorn-manager: ""
  name: recurringjobs.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: RecurringJob
    listKind: RecurringJobList
    plural: recurringjobs
    shortNames:
    - lhrj
    singular: recurringjob
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: Sets groupings to the jobs. When set to "default" group will be added to the volume label when no other job label exist in volume
      jsonPath: .spec.groups
      name: Groups
      type: string
    - description: Should be one of "backup" or "snapshot"
      jsonPath: .spec.task
      name: Task
      type: string
    - description: The cron expression represents recurring job scheduling
      jsonPath: .spec.cron
      name: Cron
      type: string
    - description: The number of snapshots/backups to keep for the volume
      jsonPath: .spec.retain
      name: Retain
      type: integer
    - description: The concurrent job to run by each cron job
      jsonPath: .spec.concurrency
      name: Concurrency
      type: integer
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - description: Specify the labels
      jsonPath: .spec.labels
      name: Labels
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: RecurringJob is where Longhorn stores recurring job object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: Sets groupings to the jobs. When set to "default" group will be added to the volume label when no other job label exist in volume
      jsonPath: .spec.groups
      name: Groups
      type: string
    - description: Should be one of "snapshot", "snapshot-force-create", "snapshot-cleanup", "snapshot-delete", "backup", "backup-force-create" or "filesystem-trim"
      jsonPath: .spec.task
      name: Task
      type: string
    - description: The cron expression represents recurring job scheduling
      jsonPath: .spec.cron
      name: Cron
      type: string
    - description: The number of snapshots/backups to keep for the volume
      jsonPath: .spec.retain
      name: Retain
      type: integer
    - description: The concurrent job to run by each cron job
      jsonPath: .spec.concurrency
      name: Concurrency
      type: integer
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - description: Specify the labels
      jsonPath: .spec.labels
      name: Labels
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: RecurringJob is where Longhorn stores recurring job object.
        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: RecurringJobSpec defines the desired state of the Longhorn recurring job
            properties:
              concurrency:
                description: The concurrency of taking the snapshot/backup.
                type: integer
              cron:
                description: The cron setting.
                type: string
              groups:
                description: The recurring job group.
                items:
                  type: string
                type: array
              labels:
                additionalProperties:
                  type: string
                description: The label of the snapshot/backup.
                type: object
              name:
                description: The recurring job name.
                type: string
              retain:
                description: The retain count of the snapshot/backup.
                type: integer
              task:
                description: The recurring job task. Can be "snapshot", "snapshot-force-create", "snapshot-cleanup", "snapshot-delete", "backup", "backup-force-create" or "filesystem-trim"
                enum:
                - snapshot
                - snapshot-force-create
                - snapshot-cleanup
                - snapshot-delete
                - backup
                - backup-force-create
                - filesystem-trim
                type: string
            type: object
          status:
            description: RecurringJobStatus defines the observed state of the Longhorn recurring job
            properties:
              ownerID:
                description: The owner ID which is responsible to reconcile this recurring job CR.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: replicas.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Replica
    listKind: ReplicaList
    plural: replicas
    shortNames:
    - lhr
    singular: replica
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The current state of the replica
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The node that the replica is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk that the replica is on
      jsonPath: .spec.diskID
      name: Disk
      type: string
    - description: The instance manager of the replica
      jsonPath: .status.instanceManagerName
      name: InstanceManager
      type: string
    - description: The current image of the replica
      jsonPath: .status.currentImage
      name: Image
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Replica is where Longhorn stores replica object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The current state of the replica
      jsonPath: .status.currentState
      name: State
      type: string
    - description: The node that the replica is on
      jsonPath: .spec.nodeID
      name: Node
      type: string
    - description: The disk that the replica is on
      jsonPath: .spec.diskID
      name: Disk
      type: string
    - description: The instance manager of the replica
      jsonPath: .status.instanceManagerName
      name: InstanceManager
      type: string
    - description: The current image of the replica
      jsonPath: .status.currentImage
      name: Image
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Replica is where Longhorn stores replica object.
        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: ReplicaSpec defines the desired state of the Longhorn replica
            properties:
              active:
                type: boolean
              backendStoreDriver:
                enum:
                - v1
                - v2
                type: string
              backingImage:
                type: string
              dataDirectoryName:
                type: string
              desireState:
                type: string
              diskID:
                type: string
              diskPath:
                type: string
              engineImage:
                type: string
              engineName:
                type: string
              failedAt:
                type: string
              hardNodeAffinity:
                type: string
              healthyAt:
                type: string
              logRequested:
                type: boolean
              nodeID:
                type: string
              rebuildRetryCount:
                type: integer
              revisionCounterDisabled:
                type: boolean
              salvageRequested:
                type: boolean
              unmapMarkDiskChainRemovedEnabled:
                type: boolean
              volumeName:
                type: string
              volumeSize:
                format: int64
                type: string
            type: object
          status:
            description: ReplicaStatus defines the observed state of the Longhorn replica
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              currentImage:
                type: string
              currentState:
                type: string
              evictionRequested:
                type: boolean
              instanceManagerName:
                type: string
              ip:
                type: string
              logFetched:
                type: boolean
              ownerID:
                type: string
              port:
                type: integer
              salvageExecuted:
                type: boolean
              started:
                type: boolean
              storageIP:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: settings.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Setting
    listKind: SettingList
    plural: settings
    shortNames:
    - lhs
    singular: setting
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The value of the setting
      jsonPath: .value
      name: Value
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Setting is where Longhorn stores setting object.
        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
          value:
            type: string
        required:
        - value
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The value of the setting
      jsonPath: .value
      name: Value
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Setting is where Longhorn stores setting object.
        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
          value:
            type: string
        required:
        - value
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: sharemanagers.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: ShareManager
    listKind: ShareManagerList
    plural: sharemanagers
    shortNames:
    - lhsm
    singular: sharemanager
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The state of the share manager
      jsonPath: .status.state
      name: State
      type: string
    - description: The node that the share manager is owned by
      jsonPath: .status.ownerID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: ShareManager is where Longhorn stores share manager object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The state of the share manager
      jsonPath: .status.state
      name: State
      type: string
    - description: The node that the share manager is owned by
      jsonPath: .status.ownerID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: ShareManager is where Longhorn stores share manager object.
        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: ShareManagerSpec defines the desired state of the Longhorn share manager
            properties:
              image:
                description: Share manager image used for creating a share manager pod
                type: string
            type: object
          status:
            description: ShareManagerStatus defines the observed state of the Longhorn share manager
            properties:
              endpoint:
                description: NFS endpoint that can access the mounted filesystem of the volume
                type: string
              ownerID:
                description: The node ID on which the controller is responsible to reconcile this share manager resource
                type: string
              state:
                description: The state of the share manager resource
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: snapshots.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: Snapshot
    listKind: SnapshotList
    plural: snapshots
    shortNames:
    - lhsnap
    singular: snapshot
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The volume that this snapshot belongs to
      jsonPath: .spec.volume
      name: Volume
      type: string
    - description: Timestamp when the point-in-time snapshot was taken
      jsonPath: .status.creationTime
      name: CreationTime
      type: string
    - description: Indicates if the snapshot is ready to be used to restore/backup a volume
      jsonPath: .status.readyToUse
      name: ReadyToUse
      type: boolean
    - description: Represents the minimum size of volume required to rehydrate from this snapshot
      jsonPath: .status.restoreSize
      name: RestoreSize
      type: string
    - description: The actual size of the snapshot
      jsonPath: .status.size
      name: Size
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Snapshot is the Schema for the snapshots 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: SnapshotSpec defines the desired state of Longhorn Snapshot
            properties:
              createSnapshot:
                description: require creating a new snapshot
                type: boolean
              labels:
                additionalProperties:
                  type: string
                description: The labels of snapshot
                nullable: true
                type: object
              volume:
                description: the volume that this snapshot belongs to. This field is immutable after creation. Required
                type: string
            required:
            - volume
            type: object
          status:
            description: SnapshotStatus defines the observed state of Longhorn Snapshot
            properties:
              checksum:
                type: string
              children:
                additionalProperties:
                  type: boolean
                nullable: true
                type: object
              creationTime:
                type: string
              error:
                type: string
              labels:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              markRemoved:
                type: boolean
              ownerID:
                type: string
              parent:
                type: string
              readyToUse:
                type: boolean
              restoreSize:
                format: int64
                type: integer
              size:
                format: int64
                type: integer
              userCreated:
                type: boolean
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: supportbundles.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: SupportBundle
    listKind: SupportBundleList
    plural: supportbundles
    shortNames:
    - lhbundle
    singular: supportbundle
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The state of the support bundle
      jsonPath: .status.state
      name: State
      type: string
    - description: The issue URL
      jsonPath: .spec.issueURL
      name: Issue
      type: string
    - description: A brief description of the issue
      jsonPath: .spec.description
      name: Description
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: SupportBundle is where Longhorn stores support bundle object
        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: SupportBundleSpec defines the desired state of the Longhorn SupportBundle
            properties:
              description:
                description: A brief description of the issue
                type: string
              issueURL:
                description: The issue URL
                nullable: true
                type: string
              nodeID:
                description: The preferred responsible controller node ID.
                type: string
            required:
            - description
            type: object
          status:
            description: SupportBundleStatus defines the observed state of the Longhorn SupportBundle
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                type: array
              filename:
                type: string
              filesize:
                format: int64
                type: integer
              image:
                description: The support bundle manager image
                type: string
              managerIP:
                description: The support bundle manager IP
                type: string
              ownerID:
                description: The current responsible controller node ID
                type: string
              progress:
                type: integer
              state:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: systembackups.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: SystemBackup
    listKind: SystemBackupList
    plural: systembackups
    shortNames:
    - lhsb
    singular: systembackup
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The system backup Longhorn version
      jsonPath: .status.version
      name: Version
      type: string
    - description: The system backup state
      jsonPath: .status.state
      name: State
      type: string
    - description: The system backup creation time
      jsonPath: .status.createdAt
      name: Created
      type: string
    - description: The last time that the system backup was synced into the cluster
      jsonPath: .status.lastSyncedAt
      name: LastSyncedAt
      type: string
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: SystemBackup is where Longhorn stores system backup object
        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: SystemBackupSpec defines the desired state of the Longhorn SystemBackup
            properties:
              volumeBackupPolicy:
                description: The create volume backup policy Can be "if-not-present", "always" or "disabled"
                nullable: true
                type: string
            type: object
          status:
            description: SystemBackupStatus defines the observed state of the Longhorn SystemBackup
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              createdAt:
                description: The system backup creation time.
                format: date-time
                type: string
              gitCommit:
                description: The saved Longhorn manager git commit.
                nullable: true
                type: string
              lastSyncedAt:
                description: The last time that the system backup was synced into the cluster.
                format: date-time
                nullable: true
                type: string
              managerImage:
                description: The saved manager image.
                type: string
              ownerID:
                description: The node ID of the responsible controller to reconcile this SystemBackup.
                type: string
              state:
                description: The system backup state.
                type: string
              version:
                description: The saved Longhorn version.
                nullable: true
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: systemrestores.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: SystemRestore
    listKind: SystemRestoreList
    plural: systemrestores
    shortNames:
    - lhsr
    singular: systemrestore
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The system restore state
      jsonPath: .status.state
      name: State
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: SystemRestore is where Longhorn stores system restore object
        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: SystemRestoreSpec defines the desired state of the Longhorn SystemRestore
            properties:
              systemBackup:
                description: The system backup name in the object store.
                type: string
            required:
            - systemBackup
            type: object
          status:
            description: SystemRestoreStatus defines the observed state of the Longhorn SystemRestore
            properties:
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              ownerID:
                description: The node ID of the responsible controller to reconcile this SystemRestore.
                type: string
              sourceURL:
                description: The source system backup URL.
                type: string
              state:
                description: The system restore state.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: volumes.longhorn.io
spec:
  preserveUnknownFields: false
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: longhorn-conversion-webhook
          namespace: {{ include "release_namespace" . }}
          path: /v1/webhook/conversion
          port: 9501
      conversionReviewVersions:
      - v1beta2
      - v1beta1
  group: longhorn.io
  names:
    kind: Volume
    listKind: VolumeList
    plural: volumes
    shortNames:
    - lhv
    singular: volume
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The state of the volume
      jsonPath: .status.state
      name: State
      type: string
    - description: The robustness of the volume
      jsonPath: .status.robustness
      name: Robustness
      type: string
    - description: The scheduled condition of the volume
      jsonPath: .status.conditions['scheduled']['status']
      name: Scheduled
      type: string
    - description: The size of the volume
      jsonPath: .spec.size
      name: Size
      type: string
    - description: The node that the volume is currently attaching to
      jsonPath: .status.currentNodeID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Volume is where Longhorn stores volume object.
        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:
            x-kubernetes-preserve-unknown-fields: true
          status:
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: The state of the volume
      jsonPath: .status.state
      name: State
      type: string
    - description: The robustness of the volume
      jsonPath: .status.robustness
      name: Robustness
      type: string
    - description: The scheduled condition of the volume
      jsonPath: .status.conditions[?(@.type=='Schedulable')].status
      name: Scheduled
      type: string
    - description: The size of the volume
      jsonPath: .spec.size
      name: Size
      type: string
    - description: The node that the volume is currently attaching to
      jsonPath: .status.currentNodeID
      name: Node
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1beta2
    schema:
      openAPIV3Schema:
        description: Volume is where Longhorn stores volume object.
        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: VolumeSpec defines the desired state of the Longhorn volume
            properties:
              Standby:
                type: boolean
              accessMode:
                enum:
                - rwo
                - rwx
                type: string
              backendStoreDriver:
                enum:
                - v1
                - v2
                type: string
              backingImage:
                type: string
              backupCompressionMethod:
                enum:
                - none
                - lz4
                - gzip
                type: string
              dataLocality:
                enum:
                - disabled
                - best-effort
                - strict-local
                type: string
              dataSource:
                type: string
              disableFrontend:
                type: boolean
              diskSelector:
                items:
                  type: string
                type: array
              encrypted:
                type: boolean
              engineImage:
                type: string
              fromBackup:
                type: string
              frontend:
                enum:
                - blockdev
                - iscsi
                - nvmf
                - ""
                type: string
              lastAttachedBy:
                type: string
              migratable:
                type: boolean
              migrationNodeID:
                type: string
              nodeID:
                type: string
              nodeSelector:
                items:
                  type: string
                type: array
              numberOfReplicas:
                type: integer
              offlineReplicaRebuilding:
                description: OfflineReplicaRebuilding is used to determine if the offline replica rebuilding feature is enabled or not
                enum:
                - ignored
                - disabled
                - enabled
                type: string
              replicaAutoBalance:
                enum:
                - ignored
                - disabled
                - least-effort
                - best-effort
                type: string
              replicaSoftAntiAffinity:
                description: Replica soft anti affinity of the volume. Set enabled to allow replicas to be scheduled on the same node
                enum:
                - ignored
                - enabled
                - disabled
                type: string
              replicaZoneSoftAntiAffinity:
                description: Replica zone soft anti affinity of the volume. Set enabled to allow replicas to be scheduled in the same zone
                enum:
                - ignored
                - enabled
                - disabled
                type: string
              restoreVolumeRecurringJob:
                enum:
                - ignored
                - enabled
                - disabled
                type: string
              revisionCounterDisabled:
                type: boolean
              size:
                format: int64
                type: string
              snapshotDataIntegrity:
                enum:
                - ignored
                - disabled
                - enabled
                - fast-check
                type: string
              staleReplicaTimeout:
                type: integer
              unmapMarkSnapChainRemoved:
                enum:
                - ignored
                - disabled
                - enabled
                type: string
            type: object
          status:
            description: VolumeStatus defines the observed state of the Longhorn volume
            properties:
              actualSize:
                format: int64
                type: integer
              cloneStatus:
                properties:
                  snapshot:
                    type: string
                  sourceVolume:
                    type: string
                  state:
                    type: string
                type: object
              conditions:
                items:
                  properties:
                    lastProbeTime:
                      description: Last time we probed the condition.
                      type: string
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status to another.
                      type: string
                    message:
                      description: Human-readable message indicating details about last transition.
                      type: string
                    reason:
                      description: Unique, one-word, CamelCase reason for the condition's last transition.
                      type: string
                    status:
                      description: Status is the status of the condition. Can be True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the condition.
                      type: string
                  type: object
                nullable: true
                type: array
              currentImage:
                type: string
              currentMigrationNodeID:
                description: the node that this volume is currently migrating to
                type: string
              currentNodeID:
                type: string
              expansionRequired:
                type: boolean
              frontendDisabled:
                type: boolean
              isStandby:
                type: boolean
              kubernetesStatus:
                properties:
                  lastPVCRefAt:
                    type: string
                  lastPodRefAt:
                    type: string
                  namespace:
                    description: determine if PVC/Namespace is history or not
                    type: string
                  pvName:
                    type: string
                  pvStatus:
                    type: string
                  pvcName:
                    type: string
                  workloadsStatus:
                    description: determine if Pod/Workload is history or not
                    items:
                      properties:
                        podName:
                          type: string
                        podStatus:
                          type: string
                        workloadName:
                          type: string
                        workloadType:
                          type: string
                      type: object
                    nullable: true
                    type: array
                type: object
              lastBackup:
                type: string
              lastBackupAt:
                type: string
              lastDegradedAt:
                type: string
              offlineReplicaRebuildingRequired:
                type: boolean
              ownerID:
                type: string
              pendingNodeID:
                description: Deprecated.
                type: string
              remountRequestedAt:
                type: string
              restoreInitiated:
                type: boolean
              restoreRequired:
                type: boolean
              robustness:
                type: string
              shareEndpoint:
                type: string
              shareState:
                type: string
              state:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: null
  labels: {{- include "longhorn.labels" . | nindent 4 }}
    longhorn-manager: ""
  name: volumeattachments.longhorn.io
spec:
  group: longhorn.io
  names:
    kind: VolumeAttachment
    listKind: VolumeAttachmentList
    plural: volumeattachments
    shortNames:
      - lhva
    singular: volumeattachment
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - jsonPath: .metadata.creationTimestamp
          name: Age
          type: date
      name: v1beta2
      schema:
        openAPIV3Schema:
          description: VolumeAttachment stores attachment information of a Longhorn volume
          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: VolumeAttachmentSpec defines the desired state of Longhorn VolumeAttachment
              properties:
                attachmentTickets:
                  additionalProperties:
                    properties:
                      generation:
                        description: A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.
                        format: int64
                        type: integer
                      id:
                        description: The unique ID of this attachment. Used to differentiate different attachments of the same volume.
                        type: string
                      nodeID:
                        description: The node that this attachment is requesting
                        type: string
                      parameters:
                        additionalProperties:
                          type: string
                        description: Optional additional parameter for this attachment
                        type: object
                      type:
                        type: string
                    type: object
                  type: object
                volume:
                  description: The name of Longhorn volume of this VolumeAttachment
                  type: string
              required:
                - volume
              type: object
            status:
              description: VolumeAttachmentStatus defines the observed state of Longhorn VolumeAttachment
              properties:
                attachmentTicketStatuses:
                  additionalProperties:
                    properties:
                      conditions:
                        description: Record any error when trying to fulfill this attachment
                        items:
                          properties:
                            lastProbeTime:
                              description: Last time we probed the condition.
                              type: string
                            lastTransitionTime:
                              description: Last time the condition transitioned from one status to another.
                              type: string
                            message:
                              description: Human-readable message indicating details about last transition.
                              type: string
                            reason:
                              description: Unique, one-word, CamelCase reason for the condition's last transition.
                              type: string
                            status:
                              description: Status is the status of the condition. Can be True, False, Unknown.
                              type: string
                            type:
                              description: Type is the type of the condition.
                              type: string
                          type: object
                        nullable: true
                        type: array
                      generation:
                        description: A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.
                        format: int64
                        type: integer
                      id:
                        description: The unique ID of this attachment. Used to differentiate different attachments of the same volume.
                        type: string
                      satisfied:
                        description: Indicate whether this attachment ticket has been satisfied
                        type: boolean
                    required:
                      - conditions
                      - satisfied
                    type: object
                  type: object
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
