Longhorn: Upgrade from 1.7.3 to 1.8.1
Change-Id: Ie2076df97ee3d00cbced65ad52888d3b467725d4
diff --git a/charts/longhorn/Chart.yaml b/charts/longhorn/Chart.yaml
index 04c937b..07777a4 100644
--- a/charts/longhorn/Chart.yaml
+++ b/charts/longhorn/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v1
-appVersion: v1.7.3
+appVersion: v1.8.1
description: Longhorn is a distributed block storage system for Kubernetes.
home: https://github.com/longhorn/longhorn
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/longhorn/icon/color/longhorn-icon-color.png
@@ -11,7 +11,7 @@
- device
- iscsi
- nfs
-kubeVersion: '>=1.21.0-0'
+kubeVersion: '>=1.25.0-0'
maintainers:
- email: maintainers@longhorn.io
name: Longhorn maintainers
@@ -25,4 +25,4 @@
- https://github.com/longhorn/longhorn-ui
- https://github.com/longhorn/longhorn-tests
- https://github.com/longhorn/backing-image-manager
-version: 1.7.3
+version: 1.8.1
diff --git a/charts/longhorn/README.md b/charts/longhorn/README.md
index 4f1ffe2..fabc0ab 100644
--- a/charts/longhorn/README.md
+++ b/charts/longhorn/README.md
@@ -20,7 +20,7 @@
## Prerequisites
1. A container runtime compatible with Kubernetes (Docker v1.13+, containerd v1.3.7+, etc.)
-2. Kubernetes >= v1.21
+2. Kubernetes >= v1.25
3. Make sure `bash`, `curl`, `findmnt`, `grep`, `awk` and `blkid` has been installed in all nodes of the Kubernetes cluster.
4. Make sure `open-iscsi` has been installed, and the `iscsid` daemon is running on all nodes of the Kubernetes cluster. For GKE, recommended Ubuntu as guest OS image since it contains `open-iscsi` already.
@@ -94,33 +94,33 @@
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| image.csi.attacher.repository | string | `"longhornio/csi-attacher"` | Repository for the CSI attacher image. When unspecified, Longhorn uses the default value. |
-| image.csi.attacher.tag | string | `"v4.8.0"` | Tag for the CSI attacher image. When unspecified, Longhorn uses the default value. |
+| image.csi.attacher.tag | string | `"v4.8.1"` | Tag for the CSI attacher image. When unspecified, Longhorn uses the default value. |
| image.csi.livenessProbe.repository | string | `"longhornio/livenessprobe"` | Repository for the CSI liveness probe image. When unspecified, Longhorn uses the default value. |
| image.csi.livenessProbe.tag | string | `"v2.15.0"` | Tag for the CSI liveness probe image. When unspecified, Longhorn uses the default value. |
| image.csi.nodeDriverRegistrar.repository | string | `"longhornio/csi-node-driver-registrar"` | Repository for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value. |
| image.csi.nodeDriverRegistrar.tag | string | `"v2.13.0"` | Tag for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value. |
| image.csi.provisioner.repository | string | `"longhornio/csi-provisioner"` | Repository for the CSI Provisioner image. When unspecified, Longhorn uses the default value. |
-| image.csi.provisioner.tag | string | `"v4.0.1-20250204"` | Tag for the CSI Provisioner image. When unspecified, Longhorn uses the default value. |
+| image.csi.provisioner.tag | string | `"v5.2.0"` | Tag for the CSI Provisioner image. When unspecified, Longhorn uses the default value. |
| image.csi.resizer.repository | string | `"longhornio/csi-resizer"` | Repository for the CSI Resizer image. When unspecified, Longhorn uses the default value. |
-| image.csi.resizer.tag | string | `"v1.13.1"` | Tag for the CSI Resizer image. When unspecified, Longhorn uses the default value. |
+| image.csi.resizer.tag | string | `"v1.13.2"` | Tag for the CSI Resizer image. When unspecified, Longhorn uses the default value. |
| image.csi.snapshotter.repository | string | `"longhornio/csi-snapshotter"` | Repository for the CSI Snapshotter image. When unspecified, Longhorn uses the default value. |
-| image.csi.snapshotter.tag | string | `"v7.0.2-20250204"` | Tag for the CSI Snapshotter image. When unspecified, Longhorn uses the default value. |
+| image.csi.snapshotter.tag | string | `"v8.2.0"` | Tag for the CSI Snapshotter image. When unspecified, Longhorn uses the default value. |
| image.longhorn.backingImageManager.repository | string | `"longhornio/backing-image-manager"` | Repository for the Backing Image Manager image. When unspecified, Longhorn uses the default value. |
-| image.longhorn.backingImageManager.tag | string | `"v1.7.2-rc1"` | Tag for the Backing Image Manager image. When unspecified, Longhorn uses the default value. |
+| image.longhorn.backingImageManager.tag | string | `"v1.8.1"` | Tag for the Backing Image Manager image. When unspecified, Longhorn uses the default value. |
| image.longhorn.engine.repository | string | `"longhornio/longhorn-engine"` | Repository for the Longhorn Engine image. |
-| image.longhorn.engine.tag | string | `"v1.7.2-rc1"` | Tag for the Longhorn Engine image. |
+| image.longhorn.engine.tag | string | `"v1.8.1"` | Tag for the Longhorn Engine image. |
| image.longhorn.instanceManager.repository | string | `"longhornio/longhorn-instance-manager"` | Repository for the Longhorn Instance Manager image. |
-| image.longhorn.instanceManager.tag | string | `"v1.7.2-rc1"` | Tag for the Longhorn Instance Manager image. |
+| image.longhorn.instanceManager.tag | string | `"v1.8.1"` | Tag for the Longhorn Instance Manager image. |
| image.longhorn.manager.repository | string | `"longhornio/longhorn-manager"` | Repository for the Longhorn Manager image. |
-| image.longhorn.manager.tag | string | `"v1.7.2-rc1"` | Tag for the Longhorn Manager image. |
+| image.longhorn.manager.tag | string | `"v1.8.1"` | Tag for the Longhorn Manager image. |
| image.longhorn.shareManager.repository | string | `"longhornio/longhorn-share-manager"` | Repository for the Longhorn Share Manager image. |
-| image.longhorn.shareManager.tag | string | `"v1.7.2-rc1"` | Tag for the Longhorn Share Manager image. |
+| image.longhorn.shareManager.tag | string | `"v1.8.1"` | Tag for the Longhorn Share Manager image. |
| image.longhorn.supportBundleKit.repository | string | `"longhornio/support-bundle-kit"` | Repository for the Longhorn Support Bundle Manager image. |
-| image.longhorn.supportBundleKit.tag | string | `"v0.0.51"` | Tag for the Longhorn Support Bundle Manager image. |
+| image.longhorn.supportBundleKit.tag | string | `"v0.0.52"` | Tag for the Longhorn Support Bundle Manager image. |
| image.longhorn.ui.repository | string | `"longhornio/longhorn-ui"` | Repository for the Longhorn UI image. |
-| image.longhorn.ui.tag | string | `"v1.7.2-rc1"` | Tag for the Longhorn UI image. |
+| image.longhorn.ui.tag | string | `"v1.8.1"` | Tag for the Longhorn UI image. |
| image.openshift.oauthProxy.repository | string | `""` | Repository for the OAuth Proxy image. Specify the upstream image (for example, "quay.io/openshift/origin-oauth-proxy"). This setting applies only to OpenShift users. |
-| image.openshift.oauthProxy.tag | float | `""` | Tag for the OAuth Proxy image. Specify OCP/OKD version 4.1 or later (including version 4.15, which is available at quay.io/openshift/origin-oauth-proxy:4.15). This setting applies only to OpenShift users. |
+| image.openshift.oauthProxy.tag | string | `""` | Tag for the OAuth Proxy image. Specify OCP/OKD version 4.1 or later (including version 4.15, which is available at quay.io/openshift/origin-oauth-proxy:4.15). This setting applies only to OpenShift users. |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy that applies to all user-deployed Longhorn components, such as Longhorn Manager, Longhorn driver, and Longhorn UI. |
### Service Settings
@@ -141,6 +141,8 @@
| persistence.backingImage.enable | bool | `false` | Setting that allows you to use a backing image in a Longhorn StorageClass. |
| persistence.backingImage.expectedChecksum | string | `nil` | Expected SHA-512 checksum of a backing image used in a Longhorn StorageClass. |
| persistence.backingImage.name | string | `nil` | Backing image to be used for creating and restoring volumes in a Longhorn StorageClass. When no backing images are available, specify the data source type and parameters that Longhorn can use to create a backing image. |
+| persistence.backupTargetName | string | `"default"` | Setting that allows you to specify the backup target for the default Longhorn StorageClass. |
+| persistence.dataEngine | string | `"v1"` | Setting that allows you to specify the data engine version for the default Longhorn StorageClass. (Options: "v1", "v2") |
| persistence.defaultClass | bool | `true` | Setting that allows you to specify the default Longhorn StorageClass. |
| persistence.defaultClassReplicaCount | int | `3` | Replica count of the default Longhorn StorageClass. |
| persistence.defaultDataLocality | string | `"disabled"` | Data locality of the default Longhorn StorageClass. (Options: "disabled", "best-effort") |
@@ -259,6 +261,10 @@
| Key | Default | Description |
|-----|---------|-------------|
| annotations | `{}` | Annotation for the Longhorn Manager DaemonSet pods. This setting is optional. |
+| defaultBackupStore | `{"backupTarget":null,"backupTargetCredentialSecret":null,"pollInterval":null}` | Setting that allows you to update the default backupstore. |
+| defaultBackupStore.backupTarget | `nil` | Endpoint used to access the default backupstore. (Options: "NFS", "CIFS", "AWS", "GCP", "AZURE") |
+| defaultBackupStore.backupTargetCredentialSecret | `nil` | Name of the Kubernetes secret associated with the default backup target. |
+| defaultBackupStore.pollInterval | `nil` | Number of seconds that Longhorn waits before checking the default backupstore for new backups. The default value is "300". When the value is "0", polling is disabled. |
| enableGoCoverDir | `false` | Setting that allows Longhorn to generate code coverage profiles. |
| enablePSP | `false` | Setting that allows you to enable pod security policies (PSPs) that allow privileged Longhorn pods to start. This setting applies only to clusters running Kubernetes 1.25 and earlier, and with the built-in Pod Security admission controller enabled. |
| namespaceOverride | `""` | Specify override namespace, specifically this is useful for using longhorn as sub-chart and its release namespace is not the `longhorn-system`. |
@@ -286,23 +292,19 @@
| defaultSettings.backupCompressionMethod | Setting that allows you to specify a backup compression method. |
| defaultSettings.backupConcurrentLimit | Maximum number of worker threads that can concurrently run for each backup. |
| defaultSettings.backupExecutionTimeout | Number of minutes that Longhorn allows for the backup execution. The default value is "1". |
-| defaultSettings.backupTarget | Endpoint used to access the backupstore. (Options: "NFS", "CIFS", "AWS", "GCP", "AZURE") |
-| defaultSettings.backupTargetCredentialSecret | Name of the Kubernetes secret associated with the backup target. |
-| defaultSettings.backupstorePollInterval | Number of seconds that Longhorn waits before checking the backupstore for new backups. The default value is "300". When the value is "0", polling is disabled. |
| defaultSettings.concurrentAutomaticEngineUpgradePerNodeLimit | Maximum number of engines that are allowed to concurrently upgrade on each node after Longhorn Manager is upgraded. When the value is "0", Longhorn does not automatically upgrade volume engines to the new default engine image version. |
| defaultSettings.concurrentReplicaRebuildPerNodeLimit | Maximum number of replicas that can be concurrently rebuilt on each node. |
| defaultSettings.concurrentVolumeBackupRestorePerNodeLimit | Maximum number of volumes that can be concurrently restored on each node using a backup. When the value is "0", restoration of volumes using a backup is disabled. |
| defaultSettings.createDefaultDiskLabeledNodes | Setting that allows Longhorn to automatically create a default disk only on nodes with the label "node.longhorn.io/create-default-disk=true" (if no other disks exist). When this setting is disabled, Longhorn creates a default disk on each node that is added to the cluster. |
| defaultSettings.defaultDataLocality | Default data locality. A Longhorn volume has data locality if a local replica of the volume exists on the same node as the pod that is using the volume. |
| defaultSettings.defaultDataPath | Default path for storing data on a host. The default value is "/var/lib/longhorn/". |
-| defaultSettings.defaultLonghornStaticStorageClass | Default Longhorn StorageClass. "storageClassName" is assigned to PVs and PVCs that are created for an existing Longhorn volume. "storageClassName" can also be used as a label, so it is possible to use a Longhorn StorageClass to bind a workload to an existing PV without creating a Kubernetes StorageClass object. The default value is "longhorn-static". |
+| defaultSettings.defaultLonghornStaticStorageClass | Default name of Longhorn static StorageClass. The "storageClassName" is assigned to PVs and PVCs that are created for an existing Longhorn volume. The "storageClassName" can also be used as a label, so it is possible to use a Longhorn StorageClass to bind a workload to an existing PV without creating a Kubernetes StorageClass object. The "storageClassName" needs to be an existing StorageClass. The default value is "longhorn-static". |
| defaultSettings.defaultReplicaCount | Default number of replicas for volumes created using the Longhorn UI. For Kubernetes configuration, modify the `numberOfReplicas` field in the StorageClass. The default value is "3". |
| defaultSettings.deletingConfirmationFlag | Flag that prevents accidental uninstallation of Longhorn. |
| defaultSettings.detachManuallyAttachedVolumesWhenCordoned | Setting that allows automatic detaching of manually-attached volumes when a node is cordoned. |
| defaultSettings.disableRevisionCounter | Setting that disables the revision counter and thereby prevents Longhorn from tracking all write operations to a volume. When salvaging a volume, Longhorn uses properties of the "volume-head-xxx.img" file (the last file size and the last time the file was modified) to select the replica to be used for volume recovery. This setting applies only to volumes created using the Longhorn UI. |
| defaultSettings.disableSchedulingOnCordonedNode | Setting that prevents Longhorn Manager from scheduling replicas on a cordoned Kubernetes node. This setting is enabled by default. |
| defaultSettings.disableSnapshotPurge | Setting that temporarily prevents all attempts to purge volume snapshots. |
-| defaultSettings.rwxVolumeFastFailover | Turn on logic to detect and move RWX volumes quickly on node failure. |
| defaultSettings.engineReplicaTimeout | Timeout between the Longhorn Engine and replicas. Specify a value between "8" and "30" seconds. The default value is "8". |
| defaultSettings.failedBackupTTL | Number of minutes that Longhorn keeps a failed backup resource. When the value is "0", automatic deletion is disabled. |
| defaultSettings.fastReplicaRebuildEnabled | Setting that allows fast rebuilding of replicas using the checksum of snapshot disk files. Before enabling this setting, you must set the snapshot-data-integrity value to "enable" or "fast-check". |
@@ -327,6 +329,7 @@
| defaultSettings.replicaZoneSoftAntiAffinity | Setting that allows Longhorn to schedule new replicas of a volume to nodes in the same zone as existing healthy replicas. Nodes that do not belong to any zone are treated as existing in the zone that contains healthy replicas. When identifying zones, Longhorn relies on the label "topology.kubernetes.io/zone=<Zone name of the node>" in the Kubernetes node object. |
| defaultSettings.restoreConcurrentLimit | Maximum number of worker threads that can concurrently run for each restore operation. |
| defaultSettings.restoreVolumeRecurringJobs | Setting that restores recurring jobs from a backup volume on a backup target and creates recurring jobs if none exist during backup restoration. |
+| defaultSettings.rwxVolumeFastFailover | Setting that allows Longhorn to detect node failure and immediately migrate affected RWX volumes. |
| defaultSettings.snapshotDataIntegrity | Setting that allows you to enable and disable snapshot hashing and data integrity checks. |
| defaultSettings.snapshotDataIntegrityCronjob | Setting that defines when Longhorn checks the integrity of data in snapshot disk files. You must use the Unix cron expression format. |
| defaultSettings.snapshotDataIntegrityImmediateCheckAfterSnapshotCreation | Setting that allows disabling of snapshot hashing after snapshot creation to minimize impact on system performance. |
@@ -340,8 +343,10 @@
| defaultSettings.systemManagedPodsImagePullPolicy | Image pull policy for system-managed pods, such as Instance Manager, engine images, and CSI Driver. Changes to the image pull policy are applied only after the system-managed pods restart. |
| defaultSettings.taintToleration | Taint or toleration for system-managed Longhorn components. Specify values using a semicolon-separated list in `kubectl taint` syntax (Example: key1=value1:effect; key2=value2:effect). |
| defaultSettings.upgradeChecker | Upgrade Checker that periodically checks for new Longhorn versions. When a new version is available, a notification appears on the Longhorn UI. This setting is enabled by default |
+| defaultSettings.upgradeResponderURL | The Upgrade Responder sends a notification whenever a new Longhorn version that you can upgrade to becomes available. The default value is https://longhorn-upgrade-responder.rancher.io/v1/checkupgrade. |
| defaultSettings.v1DataEngine | Setting that allows you to enable the V1 Data Engine. |
-| defaultSettings.v2DataEngine | Setting that allows you to enable the V2 Data Engine, which is based on the Storage Performance Development Kit (SPDK). The V2 Data Engine is a preview feature and should not be used in production environments. |
+| defaultSettings.v2DataEngine | Setting that allows you to enable the V2 Data Engine, which is based on the Storage Performance Development Kit (SPDK). The V2 Data Engine is an experimental feature and should not be used in production environments. |
+| defaultSettings.v2DataEngineCPUMask | CPU cores on which the Storage Performance Development Kit (SPDK) target daemon should run. The SPDK target daemon is located in each Instance Manager pod. Ensure that the number of cores is less than or equal to the guaranteed Instance Manager CPUs for the V2 Data Engine. The default value is "0x1". |
| defaultSettings.v2DataEngineGuaranteedInstanceManagerCPU | Number of millicpus on each node to be reserved for each Instance Manager pod when the V2 Data Engine is enabled. The default value is "1250". |
| defaultSettings.v2DataEngineHugepageLimit | Setting that allows you to configure maximum huge page size (in MiB) for the V2 Data Engine. |
| defaultSettings.v2DataEngineLogFlags | Setting that allows you to configure the log flags of the SPDK target daemon (spdk_tgt) of the V2 Data Engine. |
diff --git a/charts/longhorn/README.md.gotmpl b/charts/longhorn/README.md.gotmpl
index 6167301..5368786 100644
--- a/charts/longhorn/README.md.gotmpl
+++ b/charts/longhorn/README.md.gotmpl
@@ -20,7 +20,7 @@
## Prerequisites
1. A container runtime compatible with Kubernetes (Docker v1.13+, containerd v1.3.7+, etc.)
-2. Kubernetes >= v1.21
+2. Kubernetes >= v1.25
3. Make sure `bash`, `curl`, `findmnt`, `grep`, `awk` and `blkid` has been installed in all nodes of the Kubernetes cluster.
4. Make sure `open-iscsi` has been installed, and the `iscsid` daemon is running on all nodes of the Kubernetes cluster. For GKE, recommended Ubuntu as guest OS image since it contains `open-iscsi` already.
diff --git a/charts/longhorn/questions.yaml b/charts/longhorn/questions.yaml
index 2ae660f..86201d6 100644
--- a/charts/longhorn/questions.yaml
+++ b/charts/longhorn/questions.yaml
@@ -17,7 +17,7 @@
label: Longhorn Manager Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.manager.tag
- default: v1.7.3
+ default: v1.8.1
description: "Tag for the Longhorn Manager image."
type: string
label: Longhorn Manager Image Tag
@@ -29,7 +29,7 @@
label: Longhorn Engine Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.engine.tag
- default: v1.7.3
+ default: v1.8.1
description: "Tag for the Longhorn Engine image."
type: string
label: Longhorn Engine Image Tag
@@ -41,7 +41,7 @@
label: Longhorn UI Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.ui.tag
- default: v1.7.3
+ default: v1.8.1
description: "Tag for the Longhorn UI image."
type: string
label: Longhorn UI Image Tag
@@ -53,7 +53,7 @@
label: Longhorn Instance Manager Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.instanceManager.tag
- default: v1.7.3
+ default: v1.8.1
description: "Tag for the Longhorn Instance Manager image."
type: string
label: Longhorn Instance Manager Image Tag
@@ -65,7 +65,7 @@
label: Longhorn Share Manager Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.shareManager.tag
- default: v1.7.3
+ default: v1.8.1
description: "Tag for the Longhorn Share Manager image."
type: string
label: Longhorn Share Manager Image Tag
@@ -77,7 +77,7 @@
label: Longhorn Backing Image Manager Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.backingImageManager.tag
- default: v1.7.3
+ default: v1.8.1
description: "Tag for the Backing Image Manager image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn Backing Image Manager Image Tag
@@ -89,7 +89,7 @@
label: Longhorn Support Bundle Kit Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.supportBundleKit.tag
- default: v0.0.51
+ default: v0.0.52
description: "Tag for the Longhorn Support Bundle Manager image."
type: string
label: Longhorn Support Bundle Kit Image Tag
@@ -101,7 +101,7 @@
label: Longhorn CSI Attacher Image Repository
group: "Longhorn CSI Driver Images"
- variable: image.csi.attacher.tag
- default: v4.8.0
+ default: v4.8.1
description: "Tag for the CSI attacher image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn CSI Attacher Image Tag
@@ -113,7 +113,7 @@
label: Longhorn CSI Provisioner Image Repository
group: "Longhorn CSI Driver Images"
- variable: image.csi.provisioner.tag
- default: v4.0.1-20250204
+ default: v5.2.0
description: "Tag for the CSI Provisioner image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn CSI Provisioner Image Tag
@@ -137,7 +137,7 @@
label: Longhorn CSI Driver Resizer Image Repository
group: "Longhorn CSI Driver Images"
- variable: image.csi.resizer.tag
- default: v1.13.1
+ default: v1.13.2
description: "Tag for the CSI Resizer image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn CSI Driver Resizer Image Tag
@@ -149,7 +149,7 @@
label: Longhorn CSI Driver Snapshotter Image Repository
group: "Longhorn CSI Driver Images"
- variable: image.csi.snapshotter.tag
- default: v7.0.2-20250204
+ default: v8.2.0
description: "Tag for the CSI Snapshotter image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn CSI Driver Snapshotter Image Tag
@@ -242,18 +242,6 @@
description: "Replica count of the CSI Snapshotter. When unspecified, Longhorn uses the default value (\"3\")."
label: Longhorn CSI Snapshotter replica count
group: "Longhorn CSI Driver Settings"
- - variable: defaultSettings.backupTarget
- label: Backup Target
- description: "Endpoint used to access the backupstore. (Options: \"NFS\", \"CIFS\", \"AWS\", \"GCP\", \"AZURE\")"
- group: "Longhorn Default Settings"
- type: string
- default:
- - variable: defaultSettings.backupTargetCredentialSecret
- label: Backup Target Credential Secret
- description: "Name of the Kubernetes secret associated with the backup target."
- group: "Longhorn Default Settings"
- type: string
- default:
- variable: defaultSettings.allowRecurringJobWhileVolumeDetached
label: Allow Recurring Job While Volume Is Detached
description: 'Setting that allows Longhorn to automatically attach a volume and create snapshots or backups when recurring jobs are run.'
@@ -334,6 +322,15 @@
group: "Longhorn Default Settings"
type: boolean
default: "true"
+ - variable: defaultSettings.upgradeResponderURL
+ label: Upgrade Responder URL
+ description: >-
+ The Upgrade Responder sends a notification whenever a new Longhorn
+ version that you can upgrade to becomes available. The default value
+ is "https://longhorn-upgrade-responder.rancher.io/v1/checkupgrade".
+ group: Longhorn Default Settings
+ type: string
+ default: 'https://longhorn-upgrade-responder.rancher.io/v1/checkupgrade'
- variable: defaultSettings.defaultReplicaCount
label: Default Replica Count
description: "Default number of replicas for volumes created using the Longhorn UI. For Kubernetes configuration, modify the `numberOfReplicas` field in the StorageClass. The default value is \"3\"."
@@ -344,17 +341,10 @@
default: 3
- variable: defaultSettings.defaultLonghornStaticStorageClass
label: Default Longhorn Static StorageClass Name
- description: "Default Longhorn StorageClass. \"storageClassName\" is assigned to PVs and PVCs that are created for an existing Longhorn volume. \"storageClassName\" can also be used as a label, so it is possible to use a Longhorn StorageClass to bind a workload to an existing PV without creating a Kubernetes StorageClass object. The default value is \"longhorn-static\"."
+ description: "Default name of Longhorn Static StorageClass. The \"storageClassName\" is assigned to PVs and PVCs that are created for an existing Longhorn volume. The \"storageClassName\" can also be used as a label, so it is possible to use a Longhorn StorageClass to bind a workload to an existing PV without creating a Kubernetes StorageClass object. The \"storageClassName\" needs to be an existing StorageClass. The default value is \"longhorn-static\"."
group: "Longhorn Default Settings"
type: string
default: "longhorn-static"
- - variable: defaultSettings.backupstorePollInterval
- label: Backupstore Poll Interval
- description: "Number of seconds that Longhorn waits before checking the backupstore for new backups. The default value is \"300\". When the value is \"0\", polling is disabled."
- group: "Longhorn Default Settings"
- type: int
- min: 0
- default: 300
- variable: defaultSettings.failedBackupTTL
label: Failed Backup Time to Live
description: "Number of minutes that Longhorn keeps a failed backup resource. When the value is \"0\", automatic deletion is disabled."
@@ -461,11 +451,11 @@
group: "Longhorn Default Settings"
type: enum
options:
- - "block-for-eviction"
- - "block-for-eviction-if-contains-last-replica"
- - "block-if-contains-last-replica"
- - "allow-if-replica-is-stopped"
- - "always-allow"
+ - "block-for-eviction"
+ - "block-for-eviction-if-contains-last-replica"
+ - "block-if-contains-last-replica"
+ - "allow-if-replica-is-stopped"
+ - "always-allow"
default: "block-if-contains-last-replica"
- variable: defaultSettings.detachManuallyAttachedVolumesWhenCordoned
label: Detach Manually Attached Volumes When Cordoned
@@ -488,11 +478,7 @@
default: 600
- variable: defaultSettings.concurrentReplicaRebuildPerNodeLimit
label: Concurrent Replica Rebuild Per Node Limit
- description: "Maximum number of replicas that can be concurrently rebuilt on each node.
- WARNING:
- - The old setting \"Disable Replica Rebuild\" is replaced by this setting.
- - Different from relying on replica starting delay to limit the concurrent rebuilding, if the rebuilding is disabled, replica object replenishment will be directly skipped.
- - When the value is 0, the eviction and data locality feature won't work. But this shouldn't have any impact to any current replica rebuild and backup restore."
+ description: "Maximum number of replicas that can be concurrently rebuilt on each node. **Caution**: [1] This setting replaces \"Disable Replica Rebuild\". Instead of delaying replica startup, Longhorn skips replica object replenishment to limit the number of concurrently rebuilding replicas. [2] When the value is \"0\", the eviction and data locality features do not work, but ongoing replica rebuilding and backup/restoration operations should remain unaffected."
group: "Longhorn Default Settings"
type: int
min: 0
@@ -561,13 +547,7 @@
default: 300
- variable: defaultSettings.guaranteedInstanceManagerCPU
label: Guaranteed Instance Manager CPU
- description: "Percentage of the total allocatable CPU resources on each node to be reserved for each instance manager pod when the V1 Data Engine is enabled. The default value is \"12\".
- WARNING:
- - Value 0 means removing the CPU requests from spec of instance manager pods.
- - Considering the possible number of new instance manager pods in a further system upgrade, this integer value ranges from 0 to 40.
- - One more set of instance manager pods may need to be deployed when the Longhorn system is upgraded. If current available CPUs of the nodes are not enough for the new instance manager pods, you need to detach the volumes using the oldest instance manager pods so that Longhorn can clean up the old pods automatically and release the CPU resources. And the new pods with the latest instance manager image will be launched then.
- - This global setting will be ignored for a node if the field \"InstanceManagerCPURequest\" on the node is set.
- - After this setting is changed, all instance manager pods using this global setting on all the nodes will be automatically restarted. In other words, DO NOT CHANGE THIS SETTING WITH ATTACHED VOLUMES."
+ description: "Percentage of the total allocatable CPU resources on each node to be reserved for each Instance Manager pod when the V1 Data Engine is enabled. You can specify a value between \"0\" and \"40\" to accommodate the possible number of new Instance Manager pods during upgrades. The default value is \"12\". **Caution**: [1] When the value is \"0\", CPU requests are removed from the spec of Instance Manager pods. [2] A new set of Instance Manager pods must be deployed when Longhorn is upgraded. If the available CPUs are not sufficient for the new pods, you must detach the volumes using the oldest Instance Manager pods so that Longhorn can automatically clean up the old pods and release the CPU resources. Once completed, the new pods with the latest Instance Manager image are launched. [3] This global setting is not applied to nodes with a specified value for the \"InstanceManagerCPURequest\" field. [4] After this setting is configured, Instance Manager pods on all nodes that use this setting are automatically restarted. **Do not change this setting while volumes are still attached.**"
group: "Longhorn Default Settings"
type: int
min: 0
@@ -590,160 +570,165 @@
group: "Longhorn Default Settings"
type: boolean
default: "false"
-- variable: defaultSettings.kubernetesClusterAutoscalerEnabled
- label: Kubernetes Cluster Autoscaler Enabled (Experimental)
- description: "Setting that notifies Longhorn that the cluster is using the Kubernetes Cluster Autoscaler.
- WARNING:
- - Replica rebuilding could be expensive because nodes with reusable replicas could get removed by the Kubernetes Cluster Autoscaler."
- group: "Longhorn Default Settings"
- type: boolean
- default: false
-- variable: defaultSettings.orphanAutoDeletion
- label: Orphaned Data Cleanup
- description: "Setting that allows Longhorn to automatically delete an orphaned resource and the corresponding data (for example, stale replicas). Orphaned resources on failed or unknown nodes are not automatically cleaned up."
- group: "Longhorn Default Settings"
- type: boolean
- default: false
-- variable: defaultSettings.storageNetwork
- label: Storage Network
- description: "Longhorn uses the storage network for in-cluster data traffic. Leave this blank to use the Kubernetes cluster network.
- WARNING:
- - This setting should change after detaching all Longhorn volumes, as some of the Longhorn system component pods will get recreated to apply the setting. Longhorn will try to block this setting update when there are attached volumes."
- group: "Longhorn Default Settings"
- type: string
- default:
-- variable: defaultSettings.deletingConfirmationFlag
- label: Deleting Confirmation Flag
- description: "Flag that prevents accidental uninstallation of Longhorn."
- group: "Longhorn Default Settings"
- type: boolean
- default: "false"
-- variable: defaultSettings.engineReplicaTimeout
- label: Timeout between Engine and Replica
- description: "Timeout between the Longhorn Engine and replicas. Specify a value between \"8\" and \"30\" seconds. The default value is \"8\"."
- group: "Longhorn Default Settings"
- type: int
- default: "8"
-- variable: defaultSettings.snapshotDataIntegrity
- label: Snapshot Data Integrity
- description: "This setting allows users to enable or disable snapshot hashing and data integrity checking."
- group: "Longhorn Default Settings"
- type: string
- default: "disabled"
-- variable: defaultSettings.snapshotDataIntegrityImmediateCheckAfterSnapshotCreation
- label: Immediate Snapshot Data Integrity Check After Creating a Snapshot
- description: "Hashing snapshot disk files impacts the performance of the system. The immediate snapshot hashing and checking can be disabled to minimize the impact after creating a snapshot."
- group: "Longhorn Default Settings"
- type: boolean
- default: "false"
-- variable: defaultSettings.snapshotDataIntegrityCronjob
- label: Snapshot Data Integrity Check CronJob
- description: "Unix-cron string format. The setting specifies when Longhorn checks the data integrity of snapshot disk files."
- group: "Longhorn Default Settings"
- type: string
- default: "0 0 */7 * *"
-- variable: defaultSettings.removeSnapshotsDuringFilesystemTrim
- label: Remove Snapshots During Filesystem Trim
- description: "This setting allows Longhorn filesystem trim feature to automatically mark the latest snapshot and its ancestors as removed and stops at the snapshot containing multiple children."
- group: "Longhorn Default Settings"
- type: boolean
- default: "false"
-- variable: defaultSettings.fastReplicaRebuildEnabled
- label: Fast Replica Rebuild Enabled
- description: "Setting that allows fast rebuilding of replicas using the checksum of snapshot disk files. Before enabling this setting, you must set the snapshot-data-integrity value to \"enable\" or \"fast-check\"."
- group: "Longhorn Default Settings"
- type: boolean
- default: false
-- variable: defaultSettings.replicaFileSyncHttpClientTimeout
- label: Timeout of HTTP Client to Replica File Sync Server
- description: "In seconds. The setting specifies the HTTP client timeout to the file sync server."
- group: "Longhorn Default Settings"
- type: int
- default: "30"
-- variable: defaultSettings.longGRPCTimeOut
- label: Long gRPC Timeout
- description: "Number of seconds that Longhorn allows for the completion of replica rebuilding and snapshot cloning operations."
- group: "Longhorn Default Settings"
- type: int
- default: "86400"
-- variable: defaultSettings.backupCompressionMethod
- label: Backup Compression Method
- description: "Setting that allows you to specify a backup compression method."
- group: "Longhorn Default Settings"
- type: string
- default: "lz4"
-- variable: defaultSettings.backupConcurrentLimit
- label: Backup Concurrent Limit Per Backup
- description: "Maximum number of worker threads that can concurrently run for each backup."
- group: "Longhorn Default Settings"
- type: int
- min: 1
- default: 2
-- variable: defaultSettings.restoreConcurrentLimit
- label: Restore Concurrent Limit Per Backup
- description: "This setting controls how many worker threads per restore concurrently."
- group: "Longhorn Default Settings"
- type: int
- min: 1
- default: 2
-- variable: defaultSettings.allowCollectingLonghornUsageMetrics
- label: Allow Collecting Longhorn Usage Metrics
- description: "Setting that allows Longhorn to periodically collect anonymous usage data for product improvement purposes. Longhorn sends collected data to the [Upgrade Responder](https://github.com/longhorn/upgrade-responder) server, which is the data source of the Longhorn Public Metrics Dashboard (https://metrics.longhorn.io). The Upgrade Responder server does not store data that can be used to identify clients, including IP addresses."
- group: "Longhorn Default Settings"
- type: boolean
- default: true
-- variable: defaultSettings.v1DataEngine
- label: V1 Data Engine
- description: "Setting that allows you to enable the V1 Data Engine."
- group: "Longhorn V1 Data Engine Settings"
- type: boolean
- default: true
-- variable: defaultSettings.v2DataEngine
- label: V2 Data Engine
- description: "Setting that allows you to enable the V2 Data Engine, which is based on the Storage Performance Development Kit (SPDK). The V2 Data Engine is a preview feature and should not be used in production environments.
- WARNING:
- - DO NOT CHANGE THIS SETTING WITH ATTACHED VOLUMES. Longhorn will block this setting update when there are attached volumes.
- - When the V2 Data Engine is enabled, each instance-manager pod utilizes 1 CPU core. This high CPU usage is attributed to the spdk_tgt process running within each instance-manager pod. The spdk_tgt process is responsible for handling input/output (IO) operations and requires intensive polling. As a result, it consumes 100% of a dedicated CPU core to efficiently manage and process the IO requests, ensuring optimal performance and responsiveness for storage operations."
- group: "Longhorn V2 Data Engine (Preview Feature) Settings"
- type: boolean
- default: false
-- variable: defaultSettings.v2DataEngineHugepageLimit
- label: V2 Data Engine
- description: "This allows users to configure maximum huge page size (in MiB) for the V2 Data Engine."
- group: "Longhorn V2 Data Engine (Preview Feature) Settings"
- type: int
- default: "2048"
-- variable: defaultSettings.v2DataEngineLogLevel
- label: V2 Data Engine
- description: "Setting that allows you to configure the log level of the SPDK target daemon (spdk_tgt) of the V2 Data Engine."
- group: "Longhorn V2 Data Engine (Preview Feature) Settings"
- type: enum
- options:
- - "Disabled"
- - "Error"
- - "Warn"
- - "Notice"
- - "Info"
- - "Debug"
- default: "Notice"
-- variable: defaultSettings.v2DataEngineLogFlags
- label: V2 Data Engine
- description: "Setting that allows you to configure the log flags of the SPDK target daemon (spdk_tgt) of the V2 Data Engine."
- group: "Longhorn V2 Data Engine (Preview Feature) Settings"
- type: string
- default:
-- variable: defaultSettings.autoCleanupSnapshotWhenDeleteBackup
- label: Auto Cleanup Snapshot When Delete Backup
- description: "Setting that automatically cleans up the snapshot when the backup is deleted."
- group: "Longhorn Default Settings"
- type: boolean
- default: false
-- variable: defaultSettings.rwxVolumeFastFailover
- label: RWX Volume Fast Failover (Experimental)
- description: "Turn on logic to detect and move RWX volumes quickly on node failure."
- group: "Longhorn Default Settings"
- type: boolean
- default: false
+ - variable: defaultSettings.kubernetesClusterAutoscalerEnabled
+ label: Kubernetes Cluster Autoscaler Enabled (Experimental)
+ description: "Setting that notifies Longhorn that the cluster is using the Kubernetes Cluster Autoscaler. **Caution**: Replica rebuilding may consume significant resources if the Kubernetes Cluster Autoscaler removes nodes with reusable replicas."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: false
+ - variable: defaultSettings.orphanAutoDeletion
+ label: Orphaned Data Cleanup
+ description: "Setting that allows Longhorn to automatically delete an orphaned resource and the corresponding data (for example, stale replicas). Orphaned resources on failed or unknown nodes are not automatically cleaned up."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: false
+ - variable: defaultSettings.storageNetwork
+ label: Storage Network
+ description: "Longhorn uses the storage network for in-cluster data traffic. Leave this blank to use the Kubernetes cluster network. **Caution**: This setting should change after all volumes are detached because some Longhorn component pods must be recreated to apply the setting. You cannot modify this setting while volumes are still attached."
+ group: "Longhorn Default Settings"
+ type: string
+ default:
+ - variable: defaultSettings.taintToleration
+ label: Taint Toleration
+ description: "Taint or toleration for system-managed Longhorn components. Specify values using a semicolon-separated list in `kubectl taint` syntax (Example: key1=value1:effect; key2=value2:effect). **Caution**: This setting should change after all volumes are detached because some Longhorn component pods must be recreated to apply the setting. You cannot modify this setting while volumes are still attached."
+ group: "Longhorn Default Settings"
+ type: string
+ default:
+ - variable: defaultSettings.systemManagedComponentsNodeSelector
+ label: System Managed Components NodeSelector
+ description: "Node selector for system-managed Longhorn components.. **Caution**: This setting should change after all volumes are detached because some Longhorn component pods must be recreated to apply the setting. You cannot modify this setting while volumes are still attached."
+ group: "Longhorn Default Settings"
+ type: string
+ default:
+ - variable: defaultSettings.deletingConfirmationFlag
+ label: Deleting Confirmation Flag
+ description: "Flag that prevents accidental uninstallation of Longhorn."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: "false"
+ - variable: defaultSettings.engineReplicaTimeout
+ label: Timeout between Engine and Replica
+ description: "Timeout between the Longhorn Engine and replicas. Specify a value between \"8\" and \"30\" seconds. The default value is \"8\"."
+ group: "Longhorn Default Settings"
+ type: int
+ default: "8"
+ - variable: defaultSettings.snapshotDataIntegrity
+ label: Snapshot Data Integrity
+ description: "This setting allows users to enable or disable snapshot hashing and data integrity checking."
+ group: "Longhorn Default Settings"
+ type: string
+ default: "disabled"
+ - variable: defaultSettings.snapshotDataIntegrityImmediateCheckAfterSnapshotCreation
+ label: Immediate Snapshot Data Integrity Check After Creating a Snapshot
+ description: "Hashing snapshot disk files impacts the performance of the system. The immediate snapshot hashing and checking can be disabled to minimize the impact after creating a snapshot."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: "false"
+ - variable: defaultSettings.snapshotDataIntegrityCronjob
+ label: Snapshot Data Integrity Check CronJob
+ description: "Unix-cron string format. The setting specifies when Longhorn checks the data integrity of snapshot disk files."
+ group: "Longhorn Default Settings"
+ type: string
+ default: "0 0 */7 * *"
+ - variable: defaultSettings.removeSnapshotsDuringFilesystemTrim
+ label: Remove Snapshots During Filesystem Trim
+ description: "This setting allows Longhorn filesystem trim feature to automatically mark the latest snapshot and its ancestors as removed and stops at the snapshot containing multiple children."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: "false"
+ - variable: defaultSettings.fastReplicaRebuildEnabled
+ label: Fast Replica Rebuild Enabled
+ description: "Setting that allows fast rebuilding of replicas using the checksum of snapshot disk files. Before enabling this setting, you must set the snapshot-data-integrity value to \"enable\" or \"fast-check\"."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: false
+ - variable: defaultSettings.replicaFileSyncHttpClientTimeout
+ label: Timeout of HTTP Client to Replica File Sync Server
+ description: "In seconds. The setting specifies the HTTP client timeout to the file sync server."
+ group: "Longhorn Default Settings"
+ type: int
+ default: "30"
+ - variable: defaultSettings.longGRPCTimeOut
+ label: Long gRPC Timeout
+ description: "Number of seconds that Longhorn allows for the completion of replica rebuilding and snapshot cloning operations."
+ group: "Longhorn Default Settings"
+ type: int
+ default: "86400"
+ - variable: defaultSettings.backupCompressionMethod
+ label: Backup Compression Method
+ description: "Setting that allows you to specify a backup compression method."
+ group: "Longhorn Default Settings"
+ type: string
+ default: "lz4"
+ - variable: defaultSettings.backupConcurrentLimit
+ label: Backup Concurrent Limit Per Backup
+ description: "Maximum number of worker threads that can concurrently run for each backup."
+ group: "Longhorn Default Settings"
+ type: int
+ min: 1
+ default: 2
+ - variable: defaultSettings.restoreConcurrentLimit
+ label: Restore Concurrent Limit Per Backup
+ description: "This setting controls how many worker threads per restore concurrently."
+ group: "Longhorn Default Settings"
+ type: int
+ min: 1
+ default: 2
+ - variable: defaultSettings.allowCollectingLonghornUsageMetrics
+ label: Allow Collecting Longhorn Usage Metrics
+ description: "Setting that allows Longhorn to periodically collect anonymous usage data for product improvement purposes. Longhorn sends collected data to the [Upgrade Responder](https://github.com/longhorn/upgrade-responder) server, which is the data source of the Longhorn Public Metrics Dashboard (https://metrics.longhorn.io). The Upgrade Responder server does not store data that can be used to identify clients, including IP addresses."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: true
+ - variable: defaultSettings.v1DataEngine
+ label: V1 Data Engine
+ description: "Setting that allows you to enable the V1 Data Engine."
+ group: "Longhorn V1 Data Engine Settings"
+ type: boolean
+ default: true
+ - variable: defaultSettings.v2DataEngine
+ label: V2 Data Engine
+ description: "Setting that allows you to enable the V2 Data Engine, which is based on the Storage Performance Development Kit (SPDK). The V2 Data Engine is an experimental feature and should not be used in production environments. **Caution**: [1] **Do not modify this setting while volumes are still attached.** [2] When the V2 Data Engine is enabled, each Instance Manager pod for the V2 Data Engine uses 1 CPU core. The high CPU usage is caused by `spdk_tgt`, a process running in each Instance Manager pod that handles input/output (IO) operations and requires intensive polling. `spdk_tgt` consumes 100% of a dedicated CPU core to efficiently manage and process the IO requests, ensuring optimal performance and responsiveness for storage operations."
+ group: "Longhorn V2 Data Engine (Experimental Feature) Settings"
+ type: boolean
+ default: false
+ - variable: defaultSettings.v2DataEngineHugepageLimit
+ label: V2 Data Engine
+ description: "This allows users to configure maximum huge page size (in MiB) for the V2 Data Engine."
+ group: "Longhorn V2 Data Engine (Experimental Feature) Settings"
+ type: int
+ default: "2048"
+ - variable: defaultSettings.v2DataEngineLogLevel
+ label: V2 Data Engine
+ description: "Setting that allows you to configure the log level of the SPDK target daemon (spdk_tgt) of the V2 Data Engine."
+ group: "Longhorn V2 Data Engine (Experimental Feature) Settings"
+ type: enum
+ options:
+ - "Disabled"
+ - "Error"
+ - "Warn"
+ - "Notice"
+ - "Info"
+ - "Debug"
+ default: "Notice"
+ - variable: defaultSettings.v2DataEngineLogFlags
+ label: V2 Data Engine
+ description: "Setting that allows you to configure the log flags of the SPDK target daemon (spdk_tgt) of the V2 Data Engine."
+ group: "Longhorn V2 Data Engine (Experimental Feature) Settings"
+ type: string
+ default:
+ - variable: defaultSettings.autoCleanupSnapshotWhenDeleteBackup
+ label: Auto Cleanup Snapshot When Delete Backup
+ description: "Setting that automatically cleans up the snapshot when the backup is deleted."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: false
+ - variable: defaultSettings.rwxVolumeFastFailover
+ label: RWX Volume Fast Failover (Experimental)
+ description: "Setting that allows Longhorn to detect node failure and immediately migrate affected RWX volumes."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: false
- variable: persistence.defaultClass
default: "true"
description: "Setting that allows you to specify the default Longhorn StorageClass."
@@ -761,6 +746,15 @@
- "Delete"
- "Retain"
default: "Delete"
+- variable: persistence.defaultFsType
+ label: Storage Class Filesystem Type
+ description: "Filesystem type of the default Longhorn StorageClass"
+ group: "Longhorn Storage Class Settings"
+ type: enum
+ options:
+ - "xfs"
+ - "ext4"
+ default: "ext4"
- variable: persistence.disableRevisionCounter
label: Default Storage Class Disable Revision Counter
description: "Setting that disables the revision counter and thereby prevents Longhorn from tracking all write operations to a volume. When salvaging a volume, Longhorn uses properties of the volume-head-xxx.img file (the last file size and the last time the file was modified) to select the replica to be used for volume recovery. (Options: \"true\", \"false\")"
@@ -768,8 +762,8 @@
required: true
type: enum
options:
- - "true"
- - "false"
+ - "true"
+ - "false"
default: "true"
- variable: persistence.defaultClassReplicaCount
description: "Replica count of the default Longhorn StorageClass."
@@ -810,12 +804,12 @@
default: false
show_subquestion_if: true
subquestions:
- - variable: persistence.defaultDiskSelector.selector
- label: Storage Class Disk Selector
- description: 'Disk selector for the default Longhorn StorageClass. Longhorn uses only disks with the specified tags for storing volume data. (Examples: "nvme,sata")'
- group: "Longhorn Storage Class Settings"
- type: string
- default:
+ - variable: persistence.defaultDiskSelector.selector
+ label: Storage Class Disk Selector
+ description: 'Disk selector for the default Longhorn StorageClass. Longhorn uses only disks with the specified tags for storing volume data. (Examples: "nvme,sata")'
+ group: "Longhorn Storage Class Settings"
+ type: string
+ default:
- variable: persistence.defaultNodeSelector.enable
description: "Setting that allows you to enable the node selector for the default Longhorn StorageClass."
group: "Longhorn Storage Class Settings"
@@ -845,19 +839,13 @@
type: string
default:
- variable: persistence.backingImage.expectedChecksum
- description: 'Expected SHA-512 checksum of a backing image used in a Longhorn StorageClass.
- WARNING:
- - If the backing image name is not specified, setting this field is meaningless.
- - It is not recommended to set this field if the data source type is \"export-from-volume\".'
+ description: 'Expected SHA-512 checksum of a backing image used in a Longhorn StorageClass. **Caution** [1] This field is useful only if the backing image name is specified. [2] Specifying a checksum is not recommended when the data source type is \"export-from-volume\".'
label: Storage Class Backing Image Expected SHA512 Checksum
group: "Longhorn Storage Class Settings"
type: string
default:
- variable: persistence.backingImage.dataSourceType
- description: 'Data source type of a backing image used in a Longhorn StorageClass. If the backing image exists in the cluster, Longhorn uses this setting to verify the image. If the backing image does not exist, Longhorn creates one using the specified data source type.
- WARNING:
- - If the backing image name is not specified, setting this field is meaningless.
- - As for backing image creation with data source type \"upload\", it is recommended to do it via UI rather than StorageClass here. Uploading requires file data sending to the Longhorn backend after the object creation, which is complicated if you want to handle it manually.'
+ description: 'Data source type of a backing image used in a Longhorn StorageClass. If the backing image exists in the cluster, Longhorn uses this setting to verify the image. If the backing image does not exist, Longhorn creates one using the specified data source type. **Caution** [1] This field is useful only if the backing image name is specified. [2] Backing images with data source type \"upload\" are best created using the Longhorn UI. Uploading requires sending file data to Longhorn after object creation, which can be complicated when performed manually.'
label: Storage Class Backing Image Data Source Type
group: "Longhorn Storage Class Settings"
type: enum
@@ -868,10 +856,7 @@
- "export-from-volume"
default: ""
- variable: persistence.backingImage.dataSourceParameters
- description: "Data source parameters of a backing image used in a Longhorn StorageClass. You can specify a JSON string of a map. (Example: `'{\"url\":\"https://backing-image-example.s3-region.amazonaws.com/test-backing-image\"}'`)
- WARNING:
- - If the backing image name is not specified, setting this field is meaningless.
- - Be careful of the quotes here."
+ description: "Data source parameters of a backing image used in a Longhorn StorageClass. You can specify a JSON string of a map. (Example: `'{\"url\":\"https://backing-image-example.s3-region.amazonaws.com/test-backing-image\"}'`) **Caution** [1] This field is useful only if the backing image name is specified. [2] Ensure that quotes are used correctly when specifying parameters."
label: Storage Class Backing Image Data Source Parameters
group: "Longhorn Storage Class Settings"
type: string
@@ -886,6 +871,21 @@
- "enabled"
- "disabled"
default: "ignored"
+- variable: persistence.dataEngine
+ description: "Setting that allows you to specify the data engine version for the default Longhorn StorageClass. (Options: \"v1\", \"v2\")"
+ label: Default Storage Class Data Engine
+ group: "Longhorn Storage Class Settings"
+ type: enum
+ options:
+ - "v1"
+ - "v2"
+ default: "v1"
+- variable: persistence.backupTargetName
+ description: "Setting that allows you to specify the backup target for the default Longhorn StorageClass"
+ label: Default Storage Class Backup Target Name
+ group: "Longhorn Storage Class Settings"
+ type: string
+ default: "default"
- variable: ingress.enabled
default: "false"
description: "Expose app using Layer 7 Load Balancer - ingress"
@@ -911,9 +911,9 @@
description: "Path type for the ingress. (Options: \"ImplementationSpecific\", \"Exact\", \"Prefix\")"
type: enum
options:
- - "ImplementationSpecific"
- - "Exact"
- - "Prefix"
+ - "ImplementationSpecific"
+ - "Exact"
+ - "Prefix"
required: true
label: Ingress Path Type
- variable: service.ui.type
@@ -921,10 +921,10 @@
description: "Service type for Longhorn UI. (Options: \"ClusterIP\", \"NodePort\", \"LoadBalancer\", \"Rancher-Proxy\")"
type: enum
options:
- - "ClusterIP"
- - "NodePort"
- - "LoadBalancer"
- - "Rancher-Proxy"
+ - "ClusterIP"
+ - "NodePort"
+ - "LoadBalancer"
+ - "Rancher-Proxy"
label: Longhorn UI Service
show_if: "ingress.enabled=false"
group: "Services and Load Balancing"
@@ -938,6 +938,33 @@
max: 32767
show_if: "service.ui.type=NodePort||service.ui.type=LoadBalancer"
label: UI Service NodePort number
+- variable: longhorn.default_resource
+ default: "false"
+ description: "Customize the default resource before installing Longhorn for the first time. This option will only work if the cluster hasn't installed Longhorn."
+ label: "Customize Default Resources"
+ type: boolean
+ show_subquestion_if: true
+ group: "Longhorn Default Resources"
+ subquestions:
+ - variable: defaultBackupStore.backupTarget
+ label: Backup Target
+ description: "Endpoint used to access the backupstore. (Options: \"NFS\", \"CIFS\", \"AWS\", \"GCP\", \"AZURE\")"
+ group: "Longhorn Default Resources"
+ type: string
+ default:
+ - variable: defaultBackupStore.backupTargetCredentialSecret
+ label: Backup Target Credential Secret
+ description: "Name of the Kubernetes secret associated with the backup target."
+ group: "Longhorn Default Resources"
+ type: string
+ default:
+ - variable: defaultBackupStore.backupstorePollInterval
+ label: Backupstore Poll Interval
+ description: "Number of seconds that Longhorn waits before checking the backupstore for new backups. The default value is \"300\". When the value is \"0\", polling is disabled."
+ group: "Longhorn Default Resources"
+ type: int
+ min: 0
+ default: 300
- variable: enablePSP
default: "false"
description: "Setting that allows you to enable pod security policies (PSPs) that allow privileged Longhorn pods to start. This setting applies only to clusters running Kubernetes 1.25 and earlier, and with the built-in Pod Security admission controller enabled."
@@ -951,8 +978,7 @@
type: boolean
group: "Other Settings"
- variable: networkPolicies.enabled
- description: "Setting that allows you to enable network policies that control access to Longhorn pods.
- Warning: The Rancher Proxy will not work if this feature is enabled and a custom NetworkPolicy must be added."
+ description: "Setting that allows you to enable network policies that control access to Longhorn pods. **Caution** The Rancher Proxy will work only if this feature is enabled and a custom NetworkPolicy is added."
group: "Other Settings"
label: Network Policies
default: "false"
@@ -965,17 +991,18 @@
type: enum
default: "rke2"
options:
- - "rke1"
- - "rke2"
- - "k3s"
+ - "rke1"
+ - "rke2"
+ - "k3s"
- variable: defaultSettings.v2DataEngineGuaranteedInstanceManagerCPU
label: Guaranteed Instance Manager CPU for V2 Data Engine
- description: 'Number of millicpus on each node to be reserved for each Instance Manager pod when the V2 Data Engine is enabled. The default value is "1250".
- WARNING:
- - Specifying a value of 0 disables CPU requests for instance manager pods. You must specify an integer between 1000 and 8000.
- - This is a global setting. Modifying the value triggers an automatic restart of the instance manager pods. Do not modify the value while volumes are still attached."
- group: "Longhorn Default Settings'
+ description: 'Number of millicpu on each node to be reserved for each Instance Manager pod when the V2 Data Engine is enabled. The default value is \"1250\". **Caution** [1] Specifying a value of \"0\" disables CPU requests for Instance Manager pods. You must specify an integer between \"1000\" and \"8000\". [2] This is a global setting. Modifying the value triggers an automatic restart of the Instance Manager pods. Do not modify the value while volumes are still attached.'
type: int
min: 1000
max: 8000
default: 1250
+ - variable: defaultSettings.v2DataEngineCPUMask
+ label: CPU Mask for V2 Data Engine
+ description: 'CPU cores on which the Storage Performance Development Kit (SPDK) target daemon should run. The SPDK target daemon is located in each Instance Manager pod. Ensure that the number of cores is less than or equal to the guaranteed Instance Manager CPUs for the V2 Data Engine. The default value is \"0x1\".'
+ type: string
+ default: "0x1"
\ No newline at end of file
diff --git a/charts/longhorn/templates/crds.yaml b/charts/longhorn/templates/crds.yaml
index 3b78dd7..44a19b2 100644
--- a/charts/longhorn/templates/crds.yaml
+++ b/charts/longhorn/templates/crds.yaml
@@ -342,6 +342,9 @@
type: string
progress:
type: integer
+ realSize:
+ format: int64
+ type: integer
senderManagerAddress:
type: string
sendingReference:
@@ -492,9 +495,20 @@
properties:
checksum:
type: string
+ dataEngine:
+ default: v1
+ enum:
+ - v1
+ - v2
+ type: string
diskFileSpecMap:
additionalProperties:
properties:
+ dataEngine:
+ enum:
+ - v1
+ - v2
+ type: string
evictionRequested:
type: boolean
type: object
@@ -541,6 +555,11 @@
diskFileStatusMap:
additionalProperties:
properties:
+ dataEngine:
+ enum:
+ - v1
+ - v2
+ type: string
lastStateTransitionTime:
type: string
message:
@@ -559,14 +578,26 @@
type: object
ownerID:
type: string
+ realSize:
+ description: Real size of image in bytes, which may be smaller than
+ the size when the file is a sparse file. Will be zero until known
+ (e.g. while a backing image is uploading)
+ format: int64
+ type: integer
size:
format: int64
type: integer
uuid:
type: string
+ v2FirstCopyDisk:
+ type: string
+ v2FirstCopyStatus:
+ description: It is pending -> in-progress -> ready/failed
+ type: string
virtualSize:
- description: Virtual size of image, which may be larger than physical
- size. Will be zero until known (e.g. while a backing image is uploading)
+ description: Virtual size of image in bytes, which may be larger than
+ physical size. Will be zero until known (e.g. while a backing image
+ is uploading)
format: int64
type: integer
type: object
@@ -643,6 +674,14 @@
description: BackupBackingImageSpec defines the desired state of the Longhorn
backing image backup
properties:
+ backingImage:
+ description: |-
+ The backing image name.
+ type: string
+ backupTargetName:
+ description: The backup target name.
+ nullable: true
+ type: string
labels:
additionalProperties:
type: string
@@ -657,9 +696,9 @@
userCreated:
description: |-
Is this CR created by user through API or UI.
- Required
type: boolean
required:
+ - backingImage
- userCreated
type: object
status:
@@ -711,6 +750,13 @@
progress:
description: The backing image backup progress.
type: integer
+ secret:
+ description: Record the secret if this backup backing image is encrypted
+ type: string
+ secretNamespace:
+ description: Record the secret namespace if this backup backing image
+ is encrypted
+ type: string
size:
description: The backing image size.
format: int64
@@ -814,6 +860,10 @@
jsonPath: .status.snapshotCreatedAt
name: SnapshotCreatedAt
type: string
+ - description: The backup target name
+ jsonPath: .status.backupTargetName
+ name: BackupTarget
+ type: string
- description: The backup state
jsonPath: .status.state
name: State
@@ -876,6 +926,9 @@
backupCreatedAt:
description: The snapshot backup upload finished time.
type: string
+ backupTargetName:
+ description: The backup target name.
+ type: string
compressionMethod:
description: Compression method
type: string
@@ -1222,6 +1275,10 @@
subresources:
status: {}
- additionalPrinterColumns:
+ - description: The backup target name
+ jsonPath: .spec.backupTargetName
+ name: BackupTarget
+ type: string
- description: The backup volume creation time
jsonPath: .status.createdAt
name: CreatedAt
@@ -1264,11 +1321,18 @@
description: BackupVolumeSpec defines the desired state of the Longhorn
backup volume
properties:
+ backupTargetName:
+ description: The backup target name that the backup volume was synced.
+ nullable: true
+ type: string
syncRequestedAt:
description: The time to request run sync the remote backup volume.
format: date-time
nullable: true
type: string
+ volumeName:
+ description: The volume name that the backup volume was used to backup.
+ type: string
type: object
status:
description: BackupVolumeStatus defines the observed state of the Longhorn
@@ -2056,6 +2120,14 @@
properties:
dataEngine:
type: string
+ dataEngineSpec:
+ properties:
+ v2:
+ properties:
+ cpuMask:
+ type: string
+ type: object
+ type: object
image:
type: string
nodeID:
@@ -2075,8 +2147,39 @@
type: integer
apiVersion:
type: integer
+ backingImages:
+ additionalProperties:
+ properties:
+ currentChecksum:
+ type: string
+ diskUUID:
+ type: string
+ message:
+ type: string
+ name:
+ type: string
+ progress:
+ type: integer
+ size:
+ format: int64
+ type: integer
+ state:
+ type: string
+ uuid:
+ type: string
+ type: object
+ nullable: true
+ type: object
currentState:
type: string
+ dataEngineStatus:
+ properties:
+ v2:
+ properties:
+ cpuMask:
+ type: string
+ type: object
+ type: object
instanceEngines:
additionalProperties:
properties:
@@ -2484,6 +2587,12 @@
type: string
instanceManagerName:
type: string
+ scheduledBackingImage:
+ additionalProperties:
+ format: int64
+ type: integer
+ nullable: true
+ type: object
scheduledReplica:
additionalProperties:
format: int64
@@ -3022,6 +3131,11 @@
type: string
logRequested:
type: boolean
+ migrationEngineName:
+ description: |-
+ MigrationEngineName is indicating the migrating engine which current connected to this replica. This is only
+ used for live migration of v2 data engine
+ type: string
nodeID:
type: string
rebuildRetryCount:
@@ -3429,7 +3543,6 @@
description: |-
the volume that this snapshot belongs to.
This field is immutable after creation.
- Required
type: string
required:
- volume
@@ -4155,6 +4268,10 @@
- lz4
- gzip
type: string
+ backupTargetName:
+ description: The backup target name that the volume will be backed
+ up to or is synced.
+ type: string
dataEngine:
enum:
- v1
diff --git a/charts/longhorn/templates/default-resource.yaml b/charts/longhorn/templates/default-resource.yaml
new file mode 100644
index 0000000..2d67201
--- /dev/null
+++ b/charts/longhorn/templates/default-resource.yaml
@@ -0,0 +1,17 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: longhorn-default-resource
+ namespace: {{ include "release_namespace" . }}
+ labels: {{- include "longhorn.labels" . | nindent 4 }}
+data:
+ default-resource.yaml: |-
+ {{- if not (kindIs "invalid" .Values.defaultBackupStore.backupTarget) }}
+ backup-target: {{ .Values.defaultBackupStore.backupTarget }}
+ {{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultBackupStore.backupTargetCredentialSecret) }}
+ backup-target-credential-secret: {{ .Values.defaultBackupStore.backupTargetCredentialSecret }}
+ {{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultBackupStore.pollInterval) }}
+ backupstore-poll-interval: {{ .Values.defaultBackupStore.pollInterval }}
+ {{- end }}
diff --git a/charts/longhorn/templates/default-setting.yaml b/charts/longhorn/templates/default-setting.yaml
index 72463f1..e0419dc 100644
--- a/charts/longhorn/templates/default-setting.yaml
+++ b/charts/longhorn/templates/default-setting.yaml
@@ -6,12 +6,6 @@
labels: {{- include "longhorn.labels" . | nindent 4 }}
data:
default-setting.yaml: |-
- {{- if not (kindIs "invalid" .Values.defaultSettings.backupTarget) }}
- backup-target: {{ .Values.defaultSettings.backupTarget }}
- {{- end }}
- {{- if not (kindIs "invalid" .Values.defaultSettings.backupTargetCredentialSecret) }}
- backup-target-credential-secret: {{ .Values.defaultSettings.backupTargetCredentialSecret }}
- {{- end }}
{{- if not (kindIs "invalid" .Values.defaultSettings.allowRecurringJobWhileVolumeDetached) }}
allow-recurring-job-while-volume-detached: {{ .Values.defaultSettings.allowRecurringJobWhileVolumeDetached }}
{{- end }}
@@ -39,6 +33,9 @@
{{- if not (kindIs "invalid" .Values.defaultSettings.upgradeChecker) }}
upgrade-checker: {{ .Values.defaultSettings.upgradeChecker }}
{{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultSettings.upgradeResponderURL) }}
+ upgrade-responder-url: {{ .Values.defaultSettings.upgradeResponderURL }}
+ {{- end }}
{{- if not (kindIs "invalid" .Values.defaultSettings.defaultReplicaCount) }}
default-replica-count: {{ .Values.defaultSettings.defaultReplicaCount }}
{{- end }}
@@ -48,9 +45,6 @@
{{- if not (kindIs "invalid" .Values.defaultSettings.defaultLonghornStaticStorageClass) }}
default-longhorn-static-storage-class: {{ .Values.defaultSettings.defaultLonghornStaticStorageClass }}
{{- end }}
- {{- if not (kindIs "invalid" .Values.defaultSettings.backupstorePollInterval) }}
- backupstore-poll-interval: {{ .Values.defaultSettings.backupstorePollInterval }}
- {{- end }}
{{- if not (kindIs "invalid" .Values.defaultSettings.failedBackupTTL) }}
failed-backup-ttl: {{ .Values.defaultSettings.failedBackupTTL }}
{{- end }}
@@ -245,3 +239,6 @@
{{- if not (kindIs "invalid" .Values.defaultSettings.rwxVolumeFastFailover) }}
rwx-volume-fast-failover: {{ .Values.defaultSettings.rwxVolumeFastFailover}}
{{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultSettings.v2DataEngineCPUMask) }}
+ v2-data-engine-cpu-mask: {{ .Values.defaultSettings.v2DataEngineCPUMask }}
+ {{- end }}
diff --git a/charts/longhorn/values.yaml b/charts/longhorn/values.yaml
index f6f795c..c7f6cdb 100644
--- a/charts/longhorn/values.yaml
+++ b/charts/longhorn/values.yaml
@@ -14,10 +14,10 @@
enabled: false
# -- Toleration for Linux nodes that can run user-deployed Longhorn components.
tolerations:
- - key: "cattle.io/os"
- value: "linux"
- effect: "NoSchedule"
- operator: "Equal"
+ - key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
# -- Node selector for Linux nodes that can run user-deployed Longhorn components.
nodeSelector:
kubernetes.io/os: "linux"
@@ -26,61 +26,59 @@
taintToleration: cattle.io/os=linux:NoSchedule
# -- Node selector for system-managed Longhorn components.
systemManagedComponentsNodeSelector: kubernetes.io/os:linux
-
networkPolicies:
# -- Setting that allows you to enable network policies that control access to Longhorn pods.
enabled: false
# -- Distribution that determines the policy for allowing access for an ingress. (Options: "k3s", "rke2", "rke1")
type: "k3s"
-
image:
longhorn:
engine:
# -- Repository for the Longhorn Engine image.
repository: longhornio/longhorn-engine
# -- Tag for the Longhorn Engine image.
- tag: v1.7.3
+ tag: v1.8.1
manager:
# -- Repository for the Longhorn Manager image.
repository: longhornio/longhorn-manager
# -- Tag for the Longhorn Manager image.
- tag: v1.7.3
+ tag: v1.8.1
ui:
# -- Repository for the Longhorn UI image.
repository: longhornio/longhorn-ui
# -- Tag for the Longhorn UI image.
- tag: v1.7.3
+ tag: v1.8.1
instanceManager:
# -- Repository for the Longhorn Instance Manager image.
repository: longhornio/longhorn-instance-manager
# -- Tag for the Longhorn Instance Manager image.
- tag: v1.7.3
+ tag: v1.8.1
shareManager:
# -- Repository for the Longhorn Share Manager image.
repository: longhornio/longhorn-share-manager
# -- Tag for the Longhorn Share Manager image.
- tag: v1.7.3
+ tag: v1.8.1
backingImageManager:
# -- Repository for the Backing Image Manager image. When unspecified, Longhorn uses the default value.
repository: longhornio/backing-image-manager
# -- Tag for the Backing Image Manager image. When unspecified, Longhorn uses the default value.
- tag: v1.7.3
+ tag: v1.8.1
supportBundleKit:
# -- Repository for the Longhorn Support Bundle Manager image.
repository: longhornio/support-bundle-kit
# -- Tag for the Longhorn Support Bundle Manager image.
- tag: v0.0.51
+ tag: v0.0.52
csi:
attacher:
# -- Repository for the CSI attacher image. When unspecified, Longhorn uses the default value.
repository: longhornio/csi-attacher
# -- Tag for the CSI attacher image. When unspecified, Longhorn uses the default value.
- tag: v4.8.0
+ tag: v4.8.1
provisioner:
# -- Repository for the CSI Provisioner image. When unspecified, Longhorn uses the default value.
repository: longhornio/csi-provisioner
# -- Tag for the CSI Provisioner image. When unspecified, Longhorn uses the default value.
- tag: v4.0.1-20250204
+ tag: v5.2.0
nodeDriverRegistrar:
# -- Repository for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value.
repository: longhornio/csi-node-driver-registrar
@@ -90,12 +88,12 @@
# -- Repository for the CSI Resizer image. When unspecified, Longhorn uses the default value.
repository: longhornio/csi-resizer
# -- Tag for the CSI Resizer image. When unspecified, Longhorn uses the default value.
- tag: v1.13.1
+ tag: v1.13.2
snapshotter:
# -- Repository for the CSI Snapshotter image. When unspecified, Longhorn uses the default value.
repository: longhornio/csi-snapshotter
# -- Tag for the CSI Snapshotter image. When unspecified, Longhorn uses the default value.
- tag: v7.0.2-20250204
+ tag: v8.2.0
livenessProbe:
# -- Repository for the CSI liveness probe image. When unspecified, Longhorn uses the default value.
repository: longhornio/livenessprobe
@@ -109,7 +107,6 @@
tag: ""
# -- Image pull policy that applies to all user-deployed Longhorn components, such as Longhorn Manager, Longhorn driver, and Longhorn UI.
pullPolicy: IfNotPresent
-
service:
ui:
# -- Service type for Longhorn UI. (Options: "ClusterIP", "NodePort", "LoadBalancer", "Rancher-Proxy")
@@ -121,7 +118,6 @@
type: ClusterIP
# -- NodePort port number for Longhorn Manager. When unspecified, Longhorn selects a free port between 30000 and 32767.
nodePort: ""
-
persistence:
# -- Setting that allows you to specify the default Longhorn StorageClass.
defaultClass: true
@@ -174,13 +170,13 @@
removeSnapshotsDuringFilesystemTrim: ignored
# -- Setting that allows you to specify the data engine version for the default Longhorn StorageClass. (Options: "v1", "v2")
dataEngine: v1
-
+ # -- Setting that allows you to specify the backup target for the default Longhorn StorageClass.
+ backupTargetName: default
preUpgradeChecker:
# -- Setting that allows Longhorn to perform pre-upgrade checks. Disable this setting when installing Longhorn using Argo CD or other GitOps solutions.
jobEnabled: true
# -- Setting that allows Longhorn to perform upgrade version checks after starting the Longhorn Manager DaemonSet Pods. Disabling this setting also disables `preUpgradeChecker.jobEnabled`. Longhorn recommends keeping this setting enabled.
upgradeVersionCheck: true
-
csi:
# -- kubelet root directory. When unspecified, Longhorn uses the default value.
kubeletRootDir: ~
@@ -192,12 +188,7 @@
resizerReplicaCount: ~
# -- Replica count of the CSI Snapshotter. When unspecified, Longhorn uses the default value ("3").
snapshotterReplicaCount: ~
-
defaultSettings:
- # -- Endpoint used to access the backupstore. (Options: "NFS", "CIFS", "AWS", "GCP", "AZURE")
- backupTarget: ~
- # -- Name of the Kubernetes secret associated with the backup target.
- backupTargetCredentialSecret: ~
# -- Setting that allows Longhorn to automatically attach a volume and create snapshots or backups when recurring jobs are run.
allowRecurringJobWhileVolumeDetached: ~
# -- Setting that allows Longhorn to automatically create a default disk only on nodes with the label "node.longhorn.io/create-default-disk=true" (if no other disks exist). When this setting is disabled, Longhorn creates a default disk on each node that is added to the cluster.
@@ -218,12 +209,12 @@
storageReservedPercentageForDefaultDisk: ~
# -- Upgrade Checker that periodically checks for new Longhorn versions. When a new version is available, a notification appears on the Longhorn UI. This setting is enabled by default
upgradeChecker: ~
+ # -- The Upgrade Responder sends a notification whenever a new Longhorn version that you can upgrade to becomes available. The default value is https://longhorn-upgrade-responder.rancher.io/v1/checkupgrade.
+ upgradeResponderURL: ~
# -- Default number of replicas for volumes created using the Longhorn UI. For Kubernetes configuration, modify the `numberOfReplicas` field in the StorageClass. The default value is "3".
defaultReplicaCount: ~
- # -- Default Longhorn StorageClass. "storageClassName" is assigned to PVs and PVCs that are created for an existing Longhorn volume. "storageClassName" can also be used as a label, so it is possible to use a Longhorn StorageClass to bind a workload to an existing PV without creating a Kubernetes StorageClass object. The default value is "longhorn-static".
+ # -- Default name of Longhorn static StorageClass. "storageClassName" is assigned to PVs and PVCs that are created for an existing Longhorn volume. "storageClassName" can also be used as a label, so it is possible to use a Longhorn StorageClass to bind a workload to an existing PV without creating a Kubernetes StorageClass object. "storageClassName" needs to be an existing StorageClass. The default value is "longhorn-static".
defaultLonghornStaticStorageClass: ~
- # -- Number of seconds that Longhorn waits before checking the backupstore for new backups. The default value is "300". When the value is "0", polling is disabled.
- backupstorePollInterval: ~
# -- Number of minutes that Longhorn keeps a failed backup resource. When the value is "0", automatic deletion is disabled.
failedBackupTTL: ~
# -- Number of minutes that Longhorn allows for the backup execution. The default value is "1".
@@ -321,12 +312,14 @@
restoreConcurrentLimit: ~
# -- Setting that allows you to enable the V1 Data Engine.
v1DataEngine: ~
- # -- Setting that allows you to enable the V2 Data Engine, which is based on the Storage Performance Development Kit (SPDK). The V2 Data Engine is a preview feature and should not be used in production environments.
+ # -- Setting that allows you to enable the V2 Data Engine, which is based on the Storage Performance Development Kit (SPDK). The V2 Data Engine is an experimental feature and should not be used in production environments.
v2DataEngine: ~
# -- Setting that allows you to configure maximum huge page size (in MiB) for the V2 Data Engine.
v2DataEngineHugepageLimit: ~
# -- Number of millicpus on each node to be reserved for each Instance Manager pod when the V2 Data Engine is enabled. The default value is "1250".
v2DataEngineGuaranteedInstanceManagerCPU: ~
+ # -- CPU cores on which the Storage Performance Development Kit (SPDK) target daemon should run. The SPDK target daemon is located in each Instance Manager pod. Ensure that the number of cores is less than or equal to the guaranteed Instance Manager CPUs for the V2 Data Engine. The default value is "0x1".
+ v2DataEngineCPUMask: ~
# -- Setting that allows scheduling of empty node selector volumes to any node.
allowEmptyNodeSelectorVolume: ~
# -- Setting that allows scheduling of empty disk selector volumes to any disk.
@@ -345,9 +338,16 @@
freezeFilesystemForSnapshot: ~
# -- Setting that automatically cleans up the snapshot when the backup is deleted.
autoCleanupSnapshotWhenDeleteBackup: ~
- # -- Turn on logic to detect and move RWX volumes quickly on node failure.
+ # -- Setting that allows Longhorn to detect node failure and immediately migrate affected RWX volumes.
rwxVolumeFastFailover: ~
-
+# -- Setting that allows you to update the default backupstore.
+defaultBackupStore:
+ # -- Endpoint used to access the default backupstore. (Options: "NFS", "CIFS", "AWS", "GCP", "AZURE")
+ backupTarget: ~
+ # -- Name of the Kubernetes secret associated with the default backup target.
+ backupTargetCredentialSecret: ~
+ # -- Number of seconds that Longhorn waits before checking the default backupstore for new backups. The default value is "300". When the value is "0", polling is disabled.
+ pollInterval: ~
privateRegistry:
# -- Setting that allows you to create a private registry secret.
createSecret: ~
@@ -359,7 +359,6 @@
registryPasswd: ~
# -- Kubernetes secret that allows you to pull images from a private registry. This setting applies only when creation of private registry secrets is enabled. You must include the private registry name in the secret name.
registrySecret: ~
-
longhornManager:
log:
# -- Format of Longhorn Manager logs. (Options: "plain", "json")
@@ -386,7 +385,6 @@
## and uncomment this example block
# annotation-key1: "annotation-value1"
# annotation-key2: "annotation-value2"
-
longhornDriver:
log:
# -- Format of longhorn-driver logs. (Options: "plain", "json")
@@ -407,7 +405,6 @@
## and uncomment this example block
# label-key1: "label-value1"
# label-key2: "label-value2"
-
longhornUI:
# -- Replica count for Longhorn UI.
replicas: 2
@@ -427,33 +424,24 @@
## and uncomment this example block
# label-key1: "label-value1"
# label-key2: "label-value2"
-
ingress:
# -- Setting that allows Longhorn to generate ingress records for the Longhorn UI service.
enabled: false
-
# -- IngressClass resource that contains ingress configuration, including the name of the Ingress controller.
# ingressClassName can replace the kubernetes.io/ingress.class annotation used in earlier Kubernetes releases.
ingressClassName: ~
-
# -- Hostname of the Layer 7 load balancer.
host: sslip.io
-
# -- Setting that allows you to enable TLS on ingress records.
tls: false
-
# -- Setting that allows you to enable secure connections to the Longhorn UI service via port 443.
secureBackends: false
-
# -- TLS secret that contains the private key and certificate to be used for TLS. This setting applies only when TLS is enabled on ingress records.
tlsSecret: longhorn.local-tls
-
# -- Default ingress path. You can access the Longhorn UI by following the full ingress path {{host}}+{{path}}.
path: /
-
# -- Ingress path type. To maintain backward compatibility, the default value is "ImplementationSpecific".
pathType: ImplementationSpecific
-
## If you're using kube-lego, you will want to add:
## kubernetes.io/tls-acme: true
##
@@ -480,20 +468,15 @@
# - name: longhorn.local-tls
# key:
# certificate:
-
# -- Setting that allows you to enable pod security policies (PSPs) that allow privileged Longhorn pods to start. This setting applies only to clusters running Kubernetes 1.25 and earlier, and with the built-in Pod Security admission controller enabled.
enablePSP: false
-
# -- Specify override namespace, specifically this is useful for using longhorn as sub-chart and its release namespace is not the `longhorn-system`.
namespaceOverride: ""
-
# -- Annotation for the Longhorn Manager DaemonSet pods. This setting is optional.
annotations: {}
-
serviceAccount:
# -- Annotations to add to the service account
annotations: {}
-
metrics:
serviceMonitor:
# -- Setting that allows the creation of a Prometheus ServiceMonitor resource for Longhorn Manager components.
@@ -514,7 +497,6 @@
# documentation](https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1.Endpoint) for
# formatting details.
metricRelabelings: []
-
## openshift settings
openshift:
# -- Setting that allows Longhorn to integrate with OpenShift.
@@ -526,6 +508,5 @@
port: 443
# -- Port for proxy that provides access to the OpenShift web console.
proxy: 8443
-
# -- Setting that allows Longhorn to generate code coverage profiles.
enableGoCoverDir: false