--- # Builtin: "helm template" does not respect --create-namespace apiVersion: v1 kind: Namespace metadata: name: longhorn-system --- # Source: longhorn/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: longhorn-service-account namespace: longhorn-system labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 --- # Source: longhorn/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: longhorn-support-bundle namespace: longhorn-system labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 --- # Source: longhorn/templates/default-setting.yaml apiVersion: v1 kind: ConfigMap metadata: name: longhorn-default-setting namespace: longhorn-system labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 data: default-setting.yaml: |- --- # Source: longhorn/templates/storageclass.yaml apiVersion: v1 kind: ConfigMap metadata: name: longhorn-storageclass namespace: longhorn-system labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 data: storageclass.yaml: | kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: longhorn annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: driver.longhorn.io allowVolumeExpansion: true reclaimPolicy: "Retain" volumeBindingMode: Immediate parameters: numberOfReplicas: "2" staleReplicaTimeout: "30" fromBackup: "" fsType: "xfs" dataLocality: "best-effort" --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 longhorn-manager: "" name: backingimages.longhorn.io spec: conversion: strategy: Webhook webhook: clientConfig: service: name: longhorn-conversion-webhook namespace: longhorn-system 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 longhorn-manager: "" name: backuptargets.longhorn.io spec: conversion: strategy: Webhook webhook: clientConfig: service: name: longhorn-conversion-webhook namespace: longhorn-system 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 longhorn-manager: "" name: engineimages.longhorn.io spec: preserveUnknownFields: false conversion: strategy: Webhook webhook: clientConfig: service: name: longhorn-conversion-webhook namespace: longhorn-system 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 longhorn-manager: "" name: nodes.longhorn.io spec: preserveUnknownFields: false conversion: strategy: Webhook webhook: clientConfig: service: name: longhorn-conversion-webhook namespace: longhorn-system 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 longhorn-manager: "" name: volumes.longhorn.io spec: preserveUnknownFields: false conversion: strategy: Webhook webhook: clientConfig: service: name: longhorn-conversion-webhook namespace: longhorn-system 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: [] --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 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: [] --- # Source: longhorn/templates/clusterrole.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: longhorn-role labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 rules: - apiGroups: - apiextensions.k8s.io resources: - customresourcedefinitions verbs: - "*" - apiGroups: [""] resources: ["pods", "events", "persistentvolumes", "persistentvolumeclaims","persistentvolumeclaims/status", "nodes", "proxy/nodes", "pods/log", "secrets", "services", "endpoints", "configmaps", "serviceaccounts"] verbs: ["*"] - apiGroups: [""] resources: ["namespaces"] verbs: ["get", "list"] - apiGroups: ["apps"] resources: ["daemonsets", "statefulsets", "deployments"] verbs: ["*"] - apiGroups: ["batch"] resources: ["jobs", "cronjobs"] verbs: ["*"] - apiGroups: ["policy"] resources: ["poddisruptionbudgets", "podsecuritypolicies"] verbs: ["*"] - apiGroups: ["scheduling.k8s.io"] resources: ["priorityclasses"] verbs: ["watch", "list"] - apiGroups: ["storage.k8s.io"] resources: ["storageclasses", "volumeattachments", "volumeattachments/status", "csinodes", "csidrivers"] verbs: ["*"] - apiGroups: ["snapshot.storage.k8s.io"] resources: ["volumesnapshotclasses", "volumesnapshots", "volumesnapshotcontents", "volumesnapshotcontents/status"] verbs: ["*"] - apiGroups: ["longhorn.io"] resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings", "engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status", "sharemanagers", "sharemanagers/status", "backingimages", "backingimages/status", "backingimagemanagers", "backingimagemanagers/status", "backingimagedatasources", "backingimagedatasources/status", "backuptargets", "backuptargets/status", "backupvolumes", "backupvolumes/status", "backups", "backups/status", "recurringjobs", "recurringjobs/status", "orphans", "orphans/status", "snapshots", "snapshots/status", "supportbundles", "supportbundles/status", "systembackups", "systembackups/status", "systemrestores", "systemrestores/status", "volumeattachments", "volumeattachments/status"] verbs: ["*"] - apiGroups: ["coordination.k8s.io"] resources: ["leases"] verbs: ["*"] - apiGroups: ["metrics.k8s.io"] resources: ["pods", "nodes"] verbs: ["get", "list"] - apiGroups: ["apiregistration.k8s.io"] resources: ["apiservices"] verbs: ["list", "watch"] - apiGroups: ["admissionregistration.k8s.io"] resources: ["mutatingwebhookconfigurations", "validatingwebhookconfigurations"] verbs: ["get", "list", "create", "patch", "delete"] - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings", "clusterrolebindings", "clusterroles"] verbs: ["*"] --- # Source: longhorn/templates/clusterrolebinding.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: longhorn-bind labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: longhorn-role subjects: - kind: ServiceAccount name: longhorn-service-account namespace: longhorn-system --- # Source: longhorn/templates/clusterrolebinding.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: longhorn-support-bundle labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: longhorn-support-bundle namespace: longhorn-system --- # Source: longhorn/templates/daemonset-sa.yaml apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 app: longhorn-manager name: longhorn-backend namespace: longhorn-system spec: type: ClusterIP sessionAffinity: ClientIP selector: app: longhorn-manager ports: - name: manager port: 9500 targetPort: manager --- # Source: longhorn/templates/deployment-ui.yaml kind: Service apiVersion: v1 metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 app: longhorn-ui name: longhorn-frontend namespace: longhorn-system spec: type: ClusterIP selector: app: longhorn-ui ports: - name: http port: 80 targetPort: http nodePort: null --- # Source: longhorn/templates/services.yaml apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 app: longhorn-conversion-webhook name: longhorn-conversion-webhook namespace: longhorn-system spec: type: ClusterIP sessionAffinity: ClientIP selector: app: longhorn-manager ports: - name: conversion-webhook port: 9501 targetPort: conversion-wh --- # Source: longhorn/templates/services.yaml apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 app: longhorn-admission-webhook name: longhorn-admission-webhook namespace: longhorn-system spec: type: ClusterIP sessionAffinity: ClientIP selector: app: longhorn-manager ports: - name: admission-webhook port: 9502 targetPort: admission-wh --- # Source: longhorn/templates/services.yaml apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 app: longhorn-recovery-backend name: longhorn-recovery-backend namespace: longhorn-system spec: type: ClusterIP sessionAffinity: ClientIP selector: app: longhorn-manager ports: - name: recovery-backend port: 9503 targetPort: recov-backend --- # Source: longhorn/templates/services.yaml apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 name: longhorn-engine-manager namespace: longhorn-system spec: clusterIP: None selector: longhorn.io/component: instance-manager longhorn.io/instance-manager-type: engine --- # Source: longhorn/templates/services.yaml apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 name: longhorn-replica-manager namespace: longhorn-system spec: clusterIP: None selector: longhorn.io/component: instance-manager longhorn.io/instance-manager-type: replica --- # Source: longhorn/templates/daemonset-sa.yaml apiVersion: apps/v1 kind: DaemonSet metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 app: longhorn-manager name: longhorn-manager namespace: longhorn-system spec: selector: matchLabels: app: longhorn-manager template: metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 app: longhorn-manager spec: tolerations: - key: dedicated operator: Equal value: storage effect: NoSchedule - key: arch operator: Equal value: arm64 effect: NoSchedule containers: - name: longhorn-manager image: longhornio/longhorn-manager:v1.5.1 imagePullPolicy: IfNotPresent securityContext: privileged: true command: - longhorn-manager - -d - daemon - --engine-image - "longhornio/longhorn-engine:v1.5.1" - --instance-manager-image - "longhornio/longhorn-instance-manager:v1.5.1" - --share-manager-image - "longhornio/longhorn-share-manager:v1.5.1" - --backing-image-manager-image - "longhornio/backing-image-manager:v1.5.1" - --support-bundle-manager-image - "longhornio/support-bundle-kit:v0.0.25" - --manager-image - "longhornio/longhorn-manager:v1.5.1" - --service-account - longhorn-service-account ports: - containerPort: 9500 name: manager - containerPort: 9501 name: conversion-wh - containerPort: 9502 name: admission-wh - containerPort: 9503 name: recov-backend readinessProbe: httpGet: path: /v1/healthz port: 9501 scheme: HTTPS volumeMounts: - name: dev mountPath: /host/dev/ - name: proc mountPath: /host/proc/ - name: longhorn mountPath: /var/lib/longhorn/ mountPropagation: Bidirectional - name: longhorn-grpc-tls mountPath: /tls-files/ env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName volumes: - name: dev hostPath: path: /dev/ - name: proc hostPath: path: /proc/ - name: longhorn hostPath: path: /var/lib/longhorn/ - name: longhorn-grpc-tls secret: secretName: longhorn-grpc-tls optional: true serviceAccountName: longhorn-service-account updateStrategy: rollingUpdate: maxUnavailable: "100%" --- # Source: longhorn/templates/deployment-driver.yaml apiVersion: apps/v1 kind: Deployment metadata: name: longhorn-driver-deployer namespace: longhorn-system labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 spec: replicas: 1 selector: matchLabels: app: longhorn-driver-deployer template: metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 app: longhorn-driver-deployer spec: tolerations: - key: dedicated operator: Equal value: storage effect: NoSchedule - key: arch operator: Equal value: arm64 effect: NoSchedule initContainers: - name: wait-longhorn-manager image: longhornio/longhorn-manager:v1.5.1 command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" http://longhorn-backend:9500/v1) != "200" ]; do echo waiting; sleep 2; done'] containers: - name: longhorn-driver-deployer image: longhornio/longhorn-manager:v1.5.1 imagePullPolicy: IfNotPresent command: - longhorn-manager - -d - deploy-driver - --manager-image - "longhornio/longhorn-manager:v1.5.1" - --manager-url - http://longhorn-backend:9500/v1 env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: SERVICE_ACCOUNT valueFrom: fieldRef: fieldPath: spec.serviceAccountName - name: CSI_ATTACHER_IMAGE value: "longhornio/csi-attacher:v4.2.0" - name: CSI_PROVISIONER_IMAGE value: "longhornio/csi-provisioner:v3.4.1" - name: CSI_NODE_DRIVER_REGISTRAR_IMAGE value: "longhornio/csi-node-driver-registrar:v2.7.0" - name: CSI_RESIZER_IMAGE value: "longhornio/csi-resizer:v1.7.0" - name: CSI_SNAPSHOTTER_IMAGE value: "longhornio/csi-snapshotter:v6.2.1" - name: CSI_LIVENESS_PROBE_IMAGE value: "longhornio/livenessprobe:v2.9.0" serviceAccountName: longhorn-service-account securityContext: runAsUser: 0 --- # Source: longhorn/templates/deployment-ui.yaml apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 app: longhorn-ui name: longhorn-ui namespace: longhorn-system spec: replicas: 2 selector: matchLabels: app: longhorn-ui template: metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn app.kubernetes.io/version: v1.5.1 app: longhorn-ui spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 podAffinityTerm: labelSelector: matchExpressions: - key: app operator: In values: - longhorn-ui topologyKey: kubernetes.io/hostname containers: - name: longhorn-ui image: longhornio/longhorn-ui:v1.5.1 imagePullPolicy: IfNotPresent volumeMounts: - name : nginx-cache mountPath: /var/cache/nginx/ - name : nginx-config mountPath: /var/config/nginx/ - name: var-run mountPath: /var/run/ ports: - containerPort: 8000 name: http env: - name: LONGHORN_MANAGER_IP value: "http://longhorn-backend:9500" - name: LONGHORN_UI_PORT value: "8000" volumes: - emptyDir: {} name: nginx-cache - emptyDir: {} name: nginx-config - emptyDir: {} name: var-run --- # Source: longhorn/templates/validate-psp-install.yaml #