blob: 1834d4ef4ce358cd5b118dd81833a77ca13868e8 [file] [log] [blame]
Giorgi Lekveishvili193b7c02025-05-22 16:21:37 +04001categories:
2- storage
3namespace: longhorn-system
4questions:
5- variable: image.defaultImage
6 default: "true"
7 description: "Use default Longhorn images"
8 label: Use Default Images
9 type: boolean
10 show_subquestion_if: false
11 group: "Longhorn Images"
12 subquestions:
13 - variable: image.longhorn.manager.repository
14 default: longhornio/longhorn-manager
15 description: "Repository for the Longhorn Manager image."
16 type: string
17 label: Longhorn Manager Image Repository
18 group: "Longhorn Images Settings"
19 - variable: image.longhorn.manager.tag
20 default: v1.6.4
21 description: "Specify Longhorn Manager Image Tag"
22 type: string
23 label: Longhorn Manager Image Tag
24 group: "Longhorn Images Settings"
25 - variable: image.longhorn.engine.repository
26 default: longhornio/longhorn-engine
27 description: "Repository for the Longhorn Engine image."
28 type: string
29 label: Longhorn Engine Image Repository
30 group: "Longhorn Images Settings"
31 - variable: image.longhorn.engine.tag
32 default: v1.6.4
33 description: "Specify Longhorn Engine Image Tag"
34 type: string
35 label: Longhorn Engine Image Tag
36 group: "Longhorn Images Settings"
37 - variable: image.longhorn.ui.repository
38 default: longhornio/longhorn-ui
39 description: "Repository for the Longhorn UI image."
40 type: string
41 label: Longhorn UI Image Repository
42 group: "Longhorn Images Settings"
43 - variable: image.longhorn.ui.tag
44 default: v1.6.4
45 description: "Specify Longhorn UI Image Tag"
46 type: string
47 label: Longhorn UI Image Tag
48 group: "Longhorn Images Settings"
49 - variable: image.longhorn.instanceManager.repository
50 default: longhornio/longhorn-instance-manager
51 description: "Repository for the Longhorn Instance Manager image."
52 type: string
53 label: Longhorn Instance Manager Image Repository
54 group: "Longhorn Images Settings"
55 - variable: image.longhorn.instanceManager.tag
56 default: v1.6.4
57 description: "Specify Longhorn Instance Manager Image Tag"
58 type: string
59 label: Longhorn Instance Manager Image Tag
60 group: "Longhorn Images Settings"
61 - variable: image.longhorn.shareManager.repository
62 default: longhornio/longhorn-share-manager
63 description: "Repository for the Longhorn Share Manager image."
64 type: string
65 label: Longhorn Share Manager Image Repository
66 group: "Longhorn Images Settings"
67 - variable: image.longhorn.shareManager.tag
68 default: v1.6.4
69 description: "Specify Longhorn Share Manager Image Tag"
70 type: string
71 label: Longhorn Share Manager Image Tag
72 group: "Longhorn Images Settings"
73 - variable: image.longhorn.backingImageManager.repository
74 default: longhornio/backing-image-manager
75 description: "Repository for the Backing Image Manager image. When unspecified, Longhorn uses the default value."
76 type: string
77 label: Longhorn Backing Image Manager Image Repository
78 group: "Longhorn Images Settings"
79 - variable: image.longhorn.backingImageManager.tag
80 default: v1.6.4
81 description: "Specify Longhorn Backing Image Manager Image Tag"
82 type: string
83 label: Longhorn Backing Image Manager Image Tag
84 group: "Longhorn Images Settings"
85 - variable: image.longhorn.supportBundleKit.repository
86 default: longhornio/support-bundle-kit
87 description: "Repository for the Longhorn Support Bundle Manager image."
88 type: string
89 label: Longhorn Support Bundle Kit Image Repository
90 group: "Longhorn Images Settings"
91 - variable: image.longhorn.supportBundleKit.tag
92 default: v0.0.48
93 description: "Tag for the Longhorn Support Bundle Manager image."
94 type: string
95 label: Longhorn Support Bundle Kit Image Tag
96 group: "Longhorn Images Settings"
97 - variable: image.csi.attacher.repository
98 default: longhornio/csi-attacher
99 description: "Repository for the CSI attacher image. When unspecified, Longhorn uses the default value."
100 type: string
101 label: Longhorn CSI Attacher Image Repository
102 group: "Longhorn CSI Driver Images"
103 - variable: image.csi.attacher.tag
104 default: v4.7.0-20241219
105 description: "Tag for the CSI attacher image. When unspecified, Longhorn uses the default value."
106 type: string
107 label: Longhorn CSI Attacher Image Tag
108 group: "Longhorn CSI Driver Images"
109 - variable: image.csi.provisioner.repository
110 default: longhornio/csi-provisioner
111 description: "Repository for the CSI Provisioner image. When unspecified, Longhorn uses the default value."
112 type: string
113 label: Longhorn CSI Provisioner Image Repository
114 group: "Longhorn CSI Driver Images"
115 - variable: image.csi.provisioner.tag
116 default: v3.6.4-20241219
117 description: "Tag for the CSI Provisioner image. When unspecified, Longhorn uses the default value."
118 type: string
119 label: Longhorn CSI Provisioner Image Tag
120 group: "Longhorn CSI Driver Images"
121 - variable: image.csi.nodeDriverRegistrar.repository
122 default: longhornio/csi-node-driver-registrar
123 description: "Repository for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value."
124 type: string
125 label: Longhorn CSI Node Driver Registrar Image Repository
126 group: "Longhorn CSI Driver Images"
127 - variable: image.csi.nodeDriverRegistrar.tag
128 default: v2.12.0-20241219
129 description: "Tag for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value."
130 type: string
131 label: Longhorn CSI Node Driver Registrar Image Tag
132 group: "Longhorn CSI Driver Images"
133 - variable: image.csi.resizer.repository
134 default: longhornio/csi-resizer
135 description: "Repository for the CSI Resizer image. When unspecified, Longhorn uses the default value."
136 type: string
137 label: Longhorn CSI Driver Resizer Image Repository
138 group: "Longhorn CSI Driver Images"
139 - variable: image.csi.resizer.tag
140 default: v1.12.0-20241219
141 description: "Tag for the CSI Resizer image. When unspecified, Longhorn uses the default value."
142 type: string
143 label: Longhorn CSI Driver Resizer Image Tag
144 group: "Longhorn CSI Driver Images"
145 - variable: image.csi.snapshotter.repository
146 default: longhornio/csi-snapshotter
147 description: "Repository for the CSI Snapshotter image. When unspecified, Longhorn uses the default value."
148 type: string
149 label: Longhorn CSI Driver Snapshotter Image Repository
150 group: "Longhorn CSI Driver Images"
151 - variable: image.csi.snapshotter.tag
152 default: v6.3.4-20241219
153 description: "Tag for the CSI Snapshotter image. When unspecified, Longhorn uses the default value."
154 type: string
155 label: Longhorn CSI Driver Snapshotter Image Tag
156 group: "Longhorn CSI Driver Images"
157 - variable: image.csi.livenessProbe.repository
158 default: longhornio/livenessprobe
159 description: "Repository for the CSI liveness probe image. When unspecified, Longhorn uses the default value."
160 type: string
161 label: Longhorn CSI Liveness Probe Image Repository
162 group: "Longhorn CSI Driver Images"
163 - variable: image.csi.livenessProbe.tag
164 default: v2.14.0-20241219
165 description: "Tag for the CSI liveness probe image. When unspecified, Longhorn uses the default value."
166 type: string
167 label: Longhorn CSI Liveness Probe Image Tag
168 group: "Longhorn CSI Driver Images"
169- variable: privateRegistry.registryUrl
170 label: Private registry URL
171 description: "URL of a private registry. When unspecified, Longhorn uses the default system registry."
172 group: "Private Registry Settings"
173 type: string
174 default: ""
175- variable: privateRegistry.registrySecret
176 label: Private registry secret name
177 description: "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."
178 group: "Private Registry Settings"
179 type: string
180 default: ""
181- variable: privateRegistry.createSecret
182 default: "true"
183 description: "Setting that allows you to create a private registry secret."
184 type: boolean
185 group: "Private Registry Settings"
186 label: Create Secret for Private Registry Settings
187 show_subquestion_if: true
188 subquestions:
189 - variable: privateRegistry.registryUser
190 label: Private registry user
191 description: "User account used for authenticating with a private registry."
192 type: string
193 default: ""
194 - variable: privateRegistry.registryPasswd
195 label: Private registry password
196 description: "Password for authenticating with a private registry."
197 type: password
198 default: ""
199- variable: longhorn.default_setting
200 default: "false"
201 description: "Customize the default settings before installing Longhorn for the first time. This option will only work if the cluster hasn't installed Longhorn."
202 label: "Customize Default Settings"
203 type: boolean
204 show_subquestion_if: true
205 group: "Longhorn Default Settings"
206 subquestions:
207 - variable: csi.kubeletRootDir
208 default:
209 description: "kubelet root directory. When unspecified, Longhorn uses the default value."
210 type: string
211 label: Kubelet Root Directory
212 group: "Longhorn CSI Driver Settings"
213 - variable: csi.attacherReplicaCount
214 type: int
215 default: 3
216 min: 1
217 max: 10
218 description: "Replica count of the CSI Attacher. When unspecified, Longhorn uses the default value (\"3\")."
219 label: Longhorn CSI Attacher replica count
220 group: "Longhorn CSI Driver Settings"
221 - variable: csi.provisionerReplicaCount
222 type: int
223 default: 3
224 min: 1
225 max: 10
226 description: "Replica count of the CSI Provisioner. When unspecified, Longhorn uses the default value (\"3\")."
227 label: Longhorn CSI Provisioner replica count
228 group: "Longhorn CSI Driver Settings"
229 - variable: csi.resizerReplicaCount
230 type: int
231 default: 3
232 min: 1
233 max: 10
234 description: "Replica count of the CSI Resizer. When unspecified, Longhorn uses the default value (\"3\")."
235 label: Longhorn CSI Resizer replica count
236 group: "Longhorn CSI Driver Settings"
237 - variable: csi.snapshotterReplicaCount
238 type: int
239 default: 3
240 min: 1
241 max: 10
242 description: "Replica count of the CSI Snapshotter. When unspecified, Longhorn uses the default value (\"3\")."
243 label: Longhorn CSI Snapshotter replica count
244 group: "Longhorn CSI Driver Settings"
245 - variable: defaultSettings.backupTarget
246 label: Backup Target
247 description: "Endpoint used to access the backupstore. (Options: \"NFS\", \"CIFS\", \"AWS\", \"GCP\", \"AZURE\")"
248 group: "Longhorn Default Settings"
249 type: string
250 default:
251 - variable: defaultSettings.backupTargetCredentialSecret
252 label: Backup Target Credential Secret
253 description: "Name of the Kubernetes secret associated with the backup target."
254 group: "Longhorn Default Settings"
255 type: string
256 default:
257 - variable: defaultSettings.allowRecurringJobWhileVolumeDetached
258 label: Allow Recurring Job While Volume Is Detached
259 description: 'Setting that allows Longhorn to automatically attach a volume and create snapshots or backups when recurring jobs are run.'
260 group: "Longhorn Default Settings"
261 type: boolean
262 default: "false"
263 - variable: defaultSettings.snapshotMaxCount
264 label: Snapshot Maximum Count
265 description: 'Maximum snapshot count for a volume. The value should be between 2 to 250.'
266 group: "Longhorn Default Settings"
267 type: int
268 min: 2
269 max: 250
270 default: 250
271 - variable: defaultSettings.createDefaultDiskLabeledNodes
272 label: Create Default Disk on Labeled Nodes
273 description: '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.'
274 group: "Longhorn Default Settings"
275 type: boolean
276 default: "false"
277 - variable: defaultSettings.defaultDataPath
278 label: Default Data Path
279 description: 'Default path for storing data on a host. The default value is "/var/lib/longhorn/".'
280 group: "Longhorn Default Settings"
281 type: string
282 default: "/var/lib/longhorn/"
283 - variable: defaultSettings.defaultDataLocality
284 label: Default Data Locality
285 description: '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.'
286 group: "Longhorn Default Settings"
287 type: enum
288 options:
289 - "disabled"
290 - "best-effort"
291 default: "disabled"
292 - variable: defaultSettings.replicaSoftAntiAffinity
293 label: Replica Node Level Soft Anti-Affinity
294 description: 'Allow scheduling on nodes with existing healthy replicas of the same volume. By default, false.'
295 group: "Longhorn Default Settings"
296 type: boolean
297 default: "false"
298 - variable: defaultSettings.replicaAutoBalance
299 label: Replica Auto Balance
300 description: 'Enable this setting automatically re-balances replicas when discovered an available node.'
301 group: "Longhorn Default Settings"
302 type: enum
303 options:
304 - "disabled"
305 - "least-effort"
306 - "best-effort"
307 default: "disabled"
308 - variable: defaultSettings.storageOverProvisioningPercentage
309 label: Storage Over Provisioning Percentage
310 description: "Percentage of storage that can be allocated relative to hard drive capacity. The default value is 100."
311 group: "Longhorn Default Settings"
312 type: int
313 min: 0
314 default: 100
315 - variable: defaultSettings.storageMinimalAvailablePercentage
316 label: Storage Minimal Available Percentage
317 description: "If the minimum available disk capacity exceeds the actual percentage of available disk capacity, the disk becomes unschedulable until more space is freed up. By default, 25."
318 group: "Longhorn Default Settings"
319 type: int
320 min: 0
321 max: 100
322 default: 25
323 - variable: defaultSettings.storageReservedPercentageForDefaultDisk
324 label: Storage Reserved Percentage For Default Disk
325 description: "The reserved percentage specifies the percentage of disk space that will not be allocated to the default disk on each new Longhorn node."
326 group: "Longhorn Default Settings"
327 type: int
328 min: 0
329 max: 100
330 default: 30
331 - variable: defaultSettings.upgradeChecker
332 label: Enable Upgrade Checker
333 description: '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.'
334 group: "Longhorn Default Settings"
335 type: boolean
336 default: "true"
337 - variable: defaultSettings.defaultReplicaCount
338 label: Default Replica Count
339 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\"."
340 group: "Longhorn Default Settings"
341 type: int
342 min: 1
343 max: 20
344 default: 3
345 - variable: defaultSettings.defaultLonghornStaticStorageClass
346 label: Default Longhorn Static StorageClass Name
347 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\"."
348 group: "Longhorn Default Settings"
349 type: string
350 default: "longhorn-static"
351 - variable: defaultSettings.backupstorePollInterval
352 label: Backupstore Poll Interval
353 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."
354 group: "Longhorn Default Settings"
355 type: int
356 min: 0
357 default: 300
358 - variable: defaultSettings.failedBackupTTL
359 label: Failed Backup Time to Live
360 description: "Number of minutes that Longhorn keeps a failed backup resource. When the value is \"0\", automatic deletion is disabled."
361 group: "Longhorn Default Settings"
362 type: int
363 min: 0
364 default: 1440
365 - variable: defaultSettings.restoreVolumeRecurringJobs
366 label: Restore Volume Recurring Jobs
367 description: "Restore recurring jobs from the backup volume on the backup target and create recurring jobs if not exist during a backup restoration."
368 group: "Longhorn Default Settings"
369 type: boolean
370 default: "false"
371 - variable: defaultSettings.recurringSuccessfulJobsHistoryLimit
372 label: Cronjob Successful Jobs History Limit
373 description: "This setting specifies how many successful backup or snapshot job histories should be retained. History will not be retained if the value is 0."
374 group: "Longhorn Default Settings"
375 type: int
376 min: 0
377 default: 1
378 - variable: defaultSettings.recurringFailedJobsHistoryLimit
379 label: Cronjob Failed Jobs History Limit
380 description: 'Maximum number of failed recurring backup and snapshot jobs to be retained. When the value is "0", a history of failed recurring jobs is not retained.'
381 group: "Longhorn Default Settings"
382 type: int
383 min: 0
384 default: 1
385 - variable: defaultSettings.recurringJobMaxRetention
386 label: Maximum Retention Number for Recurring Job
387 description: "Maximum number of snapshots or backups to be retained."
388 group: "Longhorn Default Settings"
389 type: int
390 default: 100
391 - variable: defaultSettings.supportBundleFailedHistoryLimit
392 label: SupportBundle Failed History Limit
393 description: "This setting specifies how many failed support bundles can exist in the cluster. Set this value to **0** to have Longhorn automatically purge all failed support bundles."
394 group: "Longhorn Default Settings"
395 type: int
396 min: 0
397 default: 1
398 - variable: defaultSettings.autoSalvage
399 label: Automatic salvage
400 description: "Setting that allows Longhorn to automatically salvage volumes when all replicas become faulty (for example, when the network connection is interrupted). Longhorn determines which replicas are usable and then uses these replicas for the volume. This setting is enabled by default."
401 group: "Longhorn Default Settings"
402 type: boolean
403 default: "true"
404 - variable: defaultSettings.autoDeletePodWhenVolumeDetachedUnexpectedly
405 label: Automatically Delete Workload Pod when The Volume Is Detached Unexpectedly
406 description: 'Setting that allows Longhorn to automatically delete a workload pod that is managed by a controller (for example, daemonset) whenever a Longhorn volume is detached unexpectedly (for example, during Kubernetes upgrades). After deletion, the controller restarts the pod and then Kubernetes handles volume reattachment and remounting.'
407 group: "Longhorn Default Settings"
408 type: boolean
409 default: "true"
410 - variable: defaultSettings.disableSchedulingOnCordonedNode
411 label: Disable Scheduling On Cordoned Node
412 description: "Setting that prevents Longhorn Manager from scheduling replicas on a cordoned Kubernetes node. This setting is enabled by default."
413 group: "Longhorn Default Settings"
414 type: boolean
415 default: "true"
416 - variable: defaultSettings.replicaZoneSoftAntiAffinity
417 label: Replica Zone Level Soft Anti-Affinity
418 description: "Allow scheduling new Replicas of Volume to the Nodes in the same Zone as existing healthy Replicas. Nodes don't belong to any Zone will be treated as in the same Zone. Notice that Longhorn relies on label `topology.kubernetes.io/zone=<Zone name of the node>` in the Kubernetes node object to identify the zone. By, default true."
419 group: "Longhorn Default Settings"
420 type: boolean
421 default: "true"
422 - variable: defaultSettings.replicaDiskSoftAntiAffinity
423 label: Replica Disk Level Soft Anti-Affinity
424 description: 'Allow scheduling on disks with existing healthy replicas of the same volume. By default, true.'
425 group: "Longhorn Default Settings"
426 type: boolean
427 default: "true"
428 - variable: defaultSettings.allowEmptyNodeSelectorVolume
429 label: Allow Empty Node Selector Volume
430 description: "Setting that allows scheduling of empty node selector volumes to any node."
431 group: "Longhorn Default Settings"
432 type: boolean
433 default: "true"
434 - variable: defaultSettings.allowEmptyDiskSelectorVolume
435 label: Allow Empty Disk Selector Volume
436 description: "Setting that allows scheduling of empty disk selector volumes to any disk."
437 group: "Longhorn Default Settings"
438 type: boolean
439 default: "true"
440 - variable: defaultSettings.nodeDownPodDeletionPolicy
441 label: Pod Deletion Policy When Node is Down
442 description: "Policy that defines the action Longhorn takes when a volume is stuck with a StatefulSet or Deployment pod on a node that failed."
443 group: "Longhorn Default Settings"
444 type: enum
445 options:
446 - "do-nothing"
447 - "delete-statefulset-pod"
448 - "delete-deployment-pod"
449 - "delete-both-statefulset-and-deployment-pod"
450 default: "do-nothing"
451 - variable: defaultSettings.nodeDrainPolicy
452 label: Node Drain Policy
453 description: "Policy that defines the action Longhorn takes when a node with the last healthy replica of a volume is drained."
454 group: "Longhorn Default Settings"
455 type: enum
456 options:
457 - "block-for-eviction"
458 - "block-for-eviction-if-contains-last-replica"
459 - "block-if-contains-last-replica"
460 - "allow-if-replica-is-stopped"
461 - "always-allow"
462 default: "block-if-contains-last-replica"
463 - variable: defaultSettings.detachManuallyAttachedVolumesWhenCordoned
464 label: Detach Manually Attached Volumes When Cordoned
465 description: "Setting that allows automatic detaching of manually-attached volumes when a node is cordoned."
466 group: "Longhorn Default Settings"
467 type: boolean
468 default: "false"
469 - variable: defaultSettings.priorityClass
470 label: Priority Class
471 description: "PriorityClass for system-managed Longhorn components. This setting can help prevent Longhorn components from being evicted under Node Pressure. Longhorn system contains user deployed components (E.g, Longhorn manager, Longhorn driver, Longhorn UI) and system managed components (E.g, instance manager, engine image, CSI driver, etc.) Note that this will be applied to Longhorn user-deployed components by default if there are no priority class values set yet, such as `longhornManager.priorityClass`. WARNING: DO NOT CHANGE THIS SETTING WITH ATTACHED VOLUMES."
472 group: "Longhorn Default Settings"
473 type: string
474 default: "longhorn-critical"
475 - variable: defaultSettings.replicaReplenishmentWaitInterval
476 label: Replica Replenishment Wait Interval
477 description: "The interval in seconds determines how long Longhorn will at least wait to reuse the existing data on a failed replica rather than directly creating a new replica for a degraded volume."
478 group: "Longhorn Default Settings"
479 type: int
480 min: 0
481 default: 600
482 - variable: defaultSettings.concurrentReplicaRebuildPerNodeLimit
483 label: Concurrent Replica Rebuild Per Node Limit
484 description: "Maximum number of replicas that can be concurrently rebuilt on each node.
485 WARNING:
486 - The old setting \"Disable Replica Rebuild\" is replaced by this setting.
487 - Different from relying on replica starting delay to limit the concurrent rebuilding, if the rebuilding is disabled, replica object replenishment will be directly skipped.
488 - 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."
489 group: "Longhorn Default Settings"
490 type: int
491 min: 0
492 default: 5
493 - variable: defaultSettings.concurrentVolumeBackupRestorePerNodeLimit
494 label: Concurrent Volume Backup Restore Per Node Limit
495 description: "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."
496 group: "Longhorn Default Settings"
497 type: int
498 min: 0
499 default: 5
500 - variable: defaultSettings.disableRevisionCounter
501 label: Disable Revision Counter
502 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. This setting applies only to volumes created using the Longhorn UI."
503 group: "Longhorn Default Settings"
504 type: boolean
505 default: "false"
506 - variable: defaultSettings.systemManagedPodsImagePullPolicy
507 label: System Managed Pod Image Pull Policy
508 description: "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."
509 group: "Longhorn Default Settings"
510 type: enum
511 options:
512 - "if-not-present"
513 - "always"
514 - "never"
515 default: "if-not-present"
516 - variable: defaultSettings.allowVolumeCreationWithDegradedAvailability
517 label: Allow Volume Creation with Degraded Availability
518 description: "Setting that allows you to create and attach a volume without having all replicas scheduled at the time of creation."
519 group: "Longhorn Default Settings"
520 type: boolean
521 default: "true"
522 - variable: defaultSettings.autoCleanupSystemGeneratedSnapshot
523 label: Automatically Cleanup System Generated Snapshot
524 description: "Setting that allows Longhorn to automatically clean up the system-generated snapshot after replica rebuilding is completed."
525 group: "Longhorn Default Settings"
526 type: boolean
527 default: "true"
528 - variable: defaultSettings.autoCleanupRecurringJobBackupSnapshot
529 label: Automatically Cleanup Recurring Job Backup Snapshot
530 description: "Setting that allows Longhorn to automatically clean up the snapshot generated by a recurring backup job."
531 group: "Longhorn Default Settings"
532 type: boolean
533 default: "true"
534 - variable: defaultSettings.concurrentAutomaticEngineUpgradePerNodeLimit
535 label: Concurrent Automatic Engine Upgrade Per Node Limit
536 description: "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."
537 group: "Longhorn Default Settings"
538 type: int
539 min: 0
540 default: 0
541 - variable: defaultSettings.backingImageCleanupWaitInterval
542 label: Backing Image Cleanup Wait Interval
543 description: "Number of minutes that Longhorn waits before cleaning up the backing image file when no replicas in the disk are using it."
544 group: "Longhorn Default Settings"
545 type: int
546 min: 0
547 default: 60
548 - variable: defaultSettings.backingImageRecoveryWaitInterval
549 label: Backing Image Recovery Wait Interval
550 description: "Number of seconds that Longhorn waits before downloading a backing image file again when the status of all image disk files changes to \"failed\" or \"unknown\"."
551 group: "Longhorn Default Settings"
552 type: int
553 min: 0
554 default: 300
555 - variable: defaultSettings.guaranteedInstanceManagerCPU
556 label: Guaranteed Instance Manager CPU
557 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\".
558 WARNING:
559 - Value 0 means removing the CPU requests from spec of instance manager pods.
560 - Considering the possible number of new instance manager pods in a further system upgrade, this integer value ranges from 0 to 40.
561 - 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.
562 - This global setting will be ignored for a node if the field \"InstanceManagerCPURequest\" on the node is set.
563 - 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."
564 group: "Longhorn Default Settings"
565 type: int
566 min: 0
567 max: 40
568 default: 12
569 - variable: defaultSettings.logLevel
570 label: Log Level
571 description: 'Log levels that indicate the type and severity of logs in Longhorn Manager. The default value is "Info". (Options: "Panic", "Fatal", "Error", "Warn", "Info", "Debug", "Trace")'
572 group: "Longhorn Default Settings"
573 type: string
574 default: "Info"
575 - variable: defaultSettings.disableSnapshotPurge
576 label: Disable Snapshot Purge
577 description: "Setting that temporarily prevents all attempts to purge volume snapshots."
578 group: "Longhorn Default Settings"
579 type: boolean
580 default: "false"
581- variable: defaultSettings.kubernetesClusterAutoscalerEnabled
582 label: Kubernetes Cluster Autoscaler Enabled (Experimental)
583 description: "Setting that notifies Longhorn that the cluster is using the Kubernetes Cluster Autoscaler.
584 WARNING:
585 - Replica rebuilding could be expensive because nodes with reusable replicas could get removed by the Kubernetes Cluster Autoscaler."
586 group: "Longhorn Default Settings"
587 type: boolean
588 default: false
589- variable: defaultSettings.orphanAutoDeletion
590 label: Orphaned Data Cleanup
591 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."
592 group: "Longhorn Default Settings"
593 type: boolean
594 default: false
595- variable: defaultSettings.storageNetwork
596 label: Storage Network
597 description: "Longhorn uses the storage network for in-cluster data traffic. Leave this blank to use the Kubernetes cluster network.
598 WARNING:
599 - 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."
600 group: "Longhorn Default Settings"
601 type: string
602 default:
603- variable: defaultSettings.deletingConfirmationFlag
604 label: Deleting Confirmation Flag
605 description: "Flag that prevents accidental uninstallation of Longhorn."
606 group: "Longhorn Default Settings"
607 type: boolean
608 default: "false"
609- variable: defaultSettings.engineReplicaTimeout
610 label: Timeout between Engine and Replica
611 description: "Timeout between the Longhorn Engine and replicas. Specify a value between \"8\" and \"30\" seconds. The default value is \"8\"."
612 group: "Longhorn Default Settings"
613 type: int
614 default: "8"
615- variable: defaultSettings.snapshotDataIntegrity
616 label: Snapshot Data Integrity
617 description: "This setting allows users to enable or disable snapshot hashing and data integrity checking."
618 group: "Longhorn Default Settings"
619 type: string
620 default: "disabled"
621- variable: defaultSettings.snapshotDataIntegrityImmediateCheckAfterSnapshotCreation
622 label: Immediate Snapshot Data Integrity Check After Creating a Snapshot
623 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."
624 group: "Longhorn Default Settings"
625 type: boolean
626 default: "false"
627- variable: defaultSettings.snapshotDataIntegrityCronjob
628 label: Snapshot Data Integrity Check CronJob
629 description: "Unix-cron string format. The setting specifies when Longhorn checks the data integrity of snapshot disk files."
630 group: "Longhorn Default Settings"
631 type: string
632 default: "0 0 */7 * *"
633- variable: defaultSettings.removeSnapshotsDuringFilesystemTrim
634 label: Remove Snapshots During Filesystem Trim
635 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."
636 group: "Longhorn Default Settings"
637 type: boolean
638 default: "false"
639- variable: defaultSettings.fastReplicaRebuildEnabled
640 label: Fast Replica Rebuild Enabled
641 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\"."
642 group: "Longhorn Default Settings"
643 type: boolean
644 default: false
645- variable: defaultSettings.replicaFileSyncHttpClientTimeout
646 label: Timeout of HTTP Client to Replica File Sync Server
647 description: "In seconds. The setting specifies the HTTP client timeout to the file sync server."
648 group: "Longhorn Default Settings"
649 type: int
650 default: "30"
651- variable: defaultSettings.backupCompressionMethod
652 label: Backup Compression Method
653 description: "Setting that allows you to specify a backup compression method."
654 group: "Longhorn Default Settings"
655 type: string
656 default: "lz4"
657- variable: defaultSettings.backupConcurrentLimit
658 label: Backup Concurrent Limit Per Backup
659 description: "Maximum number of worker threads that can concurrently run for each backup."
660 group: "Longhorn Default Settings"
661 type: int
662 min: 1
663 default: 2
664- variable: defaultSettings.restoreConcurrentLimit
665 label: Restore Concurrent Limit Per Backup
666 description: "This setting controls how many worker threads per restore concurrently."
667 group: "Longhorn Default Settings"
668 type: int
669 min: 1
670 default: 2
671- variable: defaultSettings.allowCollectingLonghornUsageMetrics
672 label: Allow Collecting Longhorn Usage Metrics
673 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."
674 group: "Longhorn Default Settings"
675 type: boolean
676 default: true
677- variable: defaultSettings.v1DataEngine
678 label: V1 Data Engine
679 description: "Setting that allows you to enable the V1 Data Engine."
680 group: "Longhorn V1 Data Engine Settings"
681 type: boolean
682 default: true
683- variable: defaultSettings.v2DataEngine
684 label: V2 Data Engine
685 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.
686 WARNING:
687 - DO NOT CHANGE THIS SETTING WITH ATTACHED VOLUMES. Longhorn will block this setting update when there are attached volumes.
688 - 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."
689 group: "Longhorn V2 Data Engine (Preview Feature) Settings"
690 type: boolean
691 default: false
692- variable: defaultSettings.v2DataEngineHugepageLimit
693 label: V2 Data Engine
694 description: "This allows users to configure maximum huge page size (in MiB) for the V2 Data Engine."
695 group: "Longhorn V2 Data Engine (Preview Feature) Settings"
696 type: int
697 default: "2048"
698- variable: defaultSettings.offlineReplicaRebuilding
699 label: Offline Replica Rebuilding
700 description: "Setting that allows rebuilding of offline replicas for volumes using the V2 Data Engine."
701 group: "Longhorn V2 Data Engine (Preview Feature) Settings"
702 required: true
703 type: enum
704 options:
705 - "enabled"
706 - "disabled"
707 default: "enabled"
708- variable: persistence.defaultClass
709 default: "true"
710 description: "Setting that allows you to specify the default Longhorn StorageClass."
711 label: Default Storage Class
712 group: "Longhorn Storage Class Settings"
713 required: true
714 type: boolean
715- variable: persistence.reclaimPolicy
716 label: Storage Class Retain Policy
717 description: "Reclaim policy that provides instructions for handling of a volume after its claim is released. (Options: \"Retain\", \"Delete\")"
718 group: "Longhorn Storage Class Settings"
719 required: true
720 type: enum
721 options:
722 - "Delete"
723 - "Retain"
724 default: "Delete"
725- variable: persistence.defaultClassReplicaCount
726 description: "Replica count of the default Longhorn StorageClass."
727 label: Default Storage Class Replica Count
728 group: "Longhorn Storage Class Settings"
729 type: int
730 min: 1
731 max: 10
732 default: 3
733- variable: persistence.defaultDataLocality
734 description: "Data locality of the default Longhorn StorageClass. (Options: \"disabled\", \"best-effort\")"
735 label: Default Storage Class Data Locality
736 group: "Longhorn Storage Class Settings"
737 type: enum
738 options:
739 - "disabled"
740 - "best-effort"
741 default: "disabled"
742- variable: persistence.recurringJobSelector.enable
743 description: "Setting that allows you to enable the recurring job selector for a Longhorn StorageClass."
744 group: "Longhorn Storage Class Settings"
745 label: Enable Storage Class Recurring Job Selector
746 type: boolean
747 default: false
748 show_subquestion_if: true
749 subquestions:
750 - variable: persistence.recurringJobSelector.jobList
751 description: 'Recurring job selector for a Longhorn StorageClass. Ensure that quotes are used correctly when specifying job parameters. (Example: `[{"name":"backup", "isGroup":true}]`)'
752 label: Storage Class Recurring Job Selector List
753 group: "Longhorn Storage Class Settings"
754 type: string
755 default:
756- variable: persistence.defaultNodeSelector.enable
757 description: "Setting that allows you to enable the node selector for the default Longhorn StorageClass."
758 group: "Longhorn Storage Class Settings"
759 label: Enable Storage Class Node Selector
760 type: boolean
761 default: false
762 show_subquestion_if: true
763 subquestions:
764 - variable: persistence.defaultNodeSelector.selector
765 label: Storage Class Node Selector
766 description: 'Node selector for the default Longhorn StorageClass. Longhorn uses only nodes with the specified tags for storing volume data. (Examples: "storage,fast")'
767 group: "Longhorn Storage Class Settings"
768 type: string
769 default:
770- variable: persistence.backingImage.enable
771 description: "Setting that allows you to use a backing image in a Longhorn StorageClass."
772 group: "Longhorn Storage Class Settings"
773 label: Default Storage Class Backing Image
774 type: boolean
775 default: false
776 show_subquestion_if: true
777 subquestions:
778 - variable: persistence.backingImage.name
779 description: '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.'
780 label: Storage Class Backing Image Name
781 group: "Longhorn Storage Class Settings"
782 type: string
783 default:
784 - variable: persistence.backingImage.expectedChecksum
785 description: 'Expected SHA-512 checksum of a backing image used in a Longhorn StorageClass.
786 WARNING:
787 - If the backing image name is not specified, setting this field is meaningless.
788 - It is not recommended to set this field if the data source type is \"export-from-volume\".'
789 label: Storage Class Backing Image Expected SHA512 Checksum
790 group: "Longhorn Storage Class Settings"
791 type: string
792 default:
793 - variable: persistence.backingImage.dataSourceType
794 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.
795 WARNING:
796 - If the backing image name is not specified, setting this field is meaningless.
797 - 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.'
798 label: Storage Class Backing Image Data Source Type
799 group: "Longhorn Storage Class Settings"
800 type: enum
801 options:
802 - ""
803 - "download"
804 - "upload"
805 - "export-from-volume"
806 default: ""
807 - variable: persistence.backingImage.dataSourceParameters
808 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\"}'`)
809 WARNING:
810 - If the backing image name is not specified, setting this field is meaningless.
811 - Be careful of the quotes here."
812 label: Storage Class Backing Image Data Source Parameters
813 group: "Longhorn Storage Class Settings"
814 type: string
815 default:
816- variable: persistence.removeSnapshotsDuringFilesystemTrim
817 description: "Setting that allows you to enable automatic snapshot removal during filesystem trim for a Longhorn StorageClass. (Options: \"ignored\", \"enabled\", \"disabled\")"
818 label: Default Storage Class Remove Snapshots During Filesystem Trim
819 group: "Longhorn Storage Class Settings"
820 type: enum
821 options:
822 - "ignored"
823 - "enabled"
824 - "disabled"
825 default: "ignored"
826- variable: ingress.enabled
827 default: "false"
828 description: "Expose app using Layer 7 Load Balancer - ingress"
829 type: boolean
830 group: "Services and Load Balancing"
831 label: Expose app using Layer 7 Load Balancer
832 show_subquestion_if: true
833 subquestions:
834 - variable: ingress.host
835 default: "xip.io"
836 description: "Hostname of the Layer 7 load balancer."
837 type: hostname
838 required: true
839 label: Layer 7 Load Balancer Hostname
840 - variable: ingress.path
841 default: "/"
842 description: "Default ingress path. You can access the Longhorn UI by following the full ingress path {{host}}+{{path}}."
843 type: string
844 required: true
845 label: Ingress Path
846- variable: service.ui.type
847 default: "Rancher-Proxy"
848 description: "Service type for Longhorn UI. (Options: \"ClusterIP\", \"NodePort\", \"LoadBalancer\", \"Rancher-Proxy\")"
849 type: enum
850 options:
851 - "ClusterIP"
852 - "NodePort"
853 - "LoadBalancer"
854 - "Rancher-Proxy"
855 label: Longhorn UI Service
856 show_if: "ingress.enabled=false"
857 group: "Services and Load Balancing"
858 show_subquestion_if: "NodePort"
859 subquestions:
860 - variable: service.ui.nodePort
861 default: ""
862 description: "NodePort port number for Longhorn UI. When unspecified, Longhorn selects a free port between 30000 and 32767."
863 type: int
864 min: 30000
865 max: 32767
866 show_if: "service.ui.type=NodePort||service.ui.type=LoadBalancer"
867 label: UI Service NodePort number
868- variable: enablePSP
869 default: "false"
870 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."
871 label: Pod Security Policy
872 type: boolean
873 group: "Other Settings"
874- variable: global.cattle.windowsCluster.enabled
875 default: "false"
876 description: "Setting that allows Longhorn to run on a Rancher Windows cluster."
877 label: Rancher Windows Cluster
878 type: boolean
879 group: "Other Settings"
880- variable: networkPolicies.enabled
881 description: "Setting that allows you to enable network policies that control access to Longhorn pods.
882 Warning: The Rancher Proxy will not work if this feature is enabled and a custom NetworkPolicy must be added."
883 group: "Other Settings"
884 label: Network Policies
885 default: "false"
886 type: boolean
887 subquestions:
888 - variable: networkPolicies.type
889 label: Network Policies for Ingress
890 description: "Distribution that determines the policy for allowing access for an ingress. (Options: \"k3s\", \"rke2\", \"rke1\")"
891 show_if: "networkPolicies.enabled=true&&ingress.enabled=true"
892 type: enum
893 default: "rke2"
894 options:
895 - "rke1"
896 - "rke2"
897 - "k3s"
898 - variable: defaultSettings.v2DataEngineGuaranteedInstanceManagerCPU
899 label: Guaranteed Instance Manager CPU for V2 Data Engine
900 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".
901 WARNING:
902 - Specifying a value of 0 disables CPU requests for instance manager pods. You must specify an integer between 1000 and 8000.
903 - 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."
904 group: "Longhorn Default Settings'
905 type: int
906 min: 1000
907 max: 8000
908 default: 1250