categories:
  - storage
namespace: longhorn-system
questions:
  - variable: image.defaultImage
    default: 'true'
    description: Use default Longhorn images
    label: Use Default Images
    type: boolean
    show_subquestion_if: false
    group: Longhorn Images
    subquestions:
      - variable: image.longhorn.manager.repository
        default: longhornio/longhorn-manager
        description: Repository for the Longhorn Manager image.
        type: string
        label: Longhorn Manager Image Repository
        group: Longhorn Images Settings
      - variable: image.longhorn.manager.tag
        default: v1.11.2
        description: Tag for the Longhorn Manager image.
        type: string
        label: Longhorn Manager Image Tag
        group: Longhorn Images Settings
      - variable: image.longhorn.engine.repository
        default: longhornio/longhorn-engine
        description: Repository for the Longhorn Engine image.
        type: string
        label: Longhorn Engine Image Repository
        group: Longhorn Images Settings
      - variable: image.longhorn.engine.tag
        default: v1.11.2
        description: Tag for the Longhorn Engine image.
        type: string
        label: Longhorn Engine Image Tag
        group: Longhorn Images Settings
      - variable: image.longhorn.ui.repository
        default: longhornio/longhorn-ui
        description: Repository for the Longhorn UI image.
        type: string
        label: Longhorn UI Image Repository
        group: Longhorn Images Settings
      - variable: image.longhorn.ui.tag
        default: v1.11.2
        description: Tag for the Longhorn UI image.
        type: string
        label: Longhorn UI Image Tag
        group: Longhorn Images Settings
      - variable: image.longhorn.instanceManager.repository
        default: longhornio/longhorn-instance-manager
        description: Repository for the Longhorn Instance Manager image.
        type: string
        label: Longhorn Instance Manager Image Repository
        group: Longhorn Images Settings
      - variable: image.longhorn.instanceManager.tag
        default: v1.11.2
        description: Tag for the Longhorn Instance Manager image.
        type: string
        label: Longhorn Instance Manager Image Tag
        group: Longhorn Images Settings
      - variable: image.longhorn.shareManager.repository
        default: longhornio/longhorn-share-manager
        description: Repository for the Longhorn Share Manager image.
        type: string
        label: Longhorn Share Manager Image Repository
        group: Longhorn Images Settings
      - variable: image.longhorn.shareManager.tag
        default: v1.11.2
        description: Tag for the Longhorn Share Manager image.
        type: string
        label: Longhorn Share Manager Image Tag
        group: Longhorn Images Settings
      - variable: image.longhorn.backingImageManager.repository
        default: longhornio/backing-image-manager
        description: >-
          Repository for the Backing Image Manager image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn Backing Image Manager Image Repository
        group: Longhorn Images Settings
      - variable: image.longhorn.backingImageManager.tag
        default: v1.11.2
        description: >-
          Tag for the Backing Image Manager image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn Backing Image Manager Image Tag
        group: Longhorn Images Settings
      - variable: image.longhorn.supportBundleKit.repository
        default: longhornio/support-bundle-kit
        description: Repository for the Longhorn Support Bundle Manager image.
        type: string
        label: Longhorn Support Bundle Kit Image Repository
        group: Longhorn Images Settings
      - variable: image.longhorn.supportBundleKit.tag
        default: v0.0.84
        description: Tag for the Longhorn Support Bundle Manager image.
        type: string
        label: Longhorn Support Bundle Kit Image Tag
        group: Longhorn Images Settings
      - variable: image.csi.attacher.repository
        default: longhornio/csi-attacher
        description: >-
          Repository for the CSI attacher image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Attacher Image Repository
        group: Longhorn CSI Driver Images
      - variable: image.csi.attacher.tag
        default: v4.11.0-20260428
        description: >-
          Tag for the CSI attacher image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Attacher Image Tag
        group: Longhorn CSI Driver Images
      - variable: image.csi.provisioner.repository
        default: longhornio/csi-provisioner
        description: >-
          Repository for the CSI Provisioner image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Provisioner Image Repository
        group: Longhorn CSI Driver Images
      - variable: image.csi.provisioner.tag
        default: v5.3.0-20260428
        description: >-
          Tag for the CSI Provisioner image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Provisioner Image Tag
        group: Longhorn CSI Driver Images
      - variable: image.csi.nodeDriverRegistrar.repository
        default: longhornio/csi-node-driver-registrar
        description: >-
          Repository for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Node Driver Registrar Image Repository
        group: Longhorn CSI Driver Images
      - variable: image.csi.nodeDriverRegistrar.tag
        default: v2.16.0-20260428
        description: >-
          Tag for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Node Driver Registrar Image Tag
        group: Longhorn CSI Driver Images
      - variable: image.csi.resizer.repository
        default: longhornio/csi-resizer
        description: >-
          Repository for the CSI Resizer image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Driver Resizer Image Repository
        group: Longhorn CSI Driver Images
      - variable: image.csi.resizer.tag
        default: v2.1.0-20260428
        description: >-
          Tag for the CSI Resizer image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Driver Resizer Image Tag
        group: Longhorn CSI Driver Images
      - variable: image.csi.snapshotter.repository
        default: longhornio/csi-snapshotter
        description: >-
          Repository for the CSI Snapshotter image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Driver Snapshotter Image Repository
        group: Longhorn CSI Driver Images
      - variable: image.csi.snapshotter.tag
        default: v8.5.0-20260428
        description: >-
          Tag for the CSI Snapshotter image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Driver Snapshotter Image Tag
        group: Longhorn CSI Driver Images
      - variable: image.csi.livenessProbe.repository
        default: longhornio/livenessprobe
        description: >-
          Repository for the CSI liveness probe image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Liveness Probe Image Repository
        group: Longhorn CSI Driver Images
      - variable: image.csi.livenessProbe.tag
        default: v2.18.0-20260428
        description: >-
          Tag for the CSI liveness probe image. When unspecified, Longhorn uses the default value.
        type: string
        label: Longhorn CSI Liveness Probe Image Tag
        group: Longhorn CSI Driver Images
  - variable: privateRegistry.registryUrl
    label: Private registry URL
    description: >-
      URL of a private registry. When unspecified, Longhorn uses the default system registry.
    group: Private Registry Settings
    type: string
    default: ''
    subquestions: []
  - variable: privateRegistry.registrySecret
    label: Private registry secret name
    description: >-
      If create a new private registry secret is true, create a Kubernetes secret with this name; else use the existing secret of this name. Use it to pull images from your private registry.
    group: Private Registry Settings
    type: string
    default: ''
    subquestions: []
  - variable: privateRegistry.createSecret
    default: 'true'
    description: Set to true to automatically create a new private registry secret.
    type: boolean
    group: Private Registry Settings
    label: Create Secret for Private Registry Settings
    show_subquestion_if: true
    subquestions:
      - variable: privateRegistry.registryUser
        label: Private registry user
        description: User account used for authenticating with a private registry.
        type: string
        default: ''
      - variable: privateRegistry.registryPasswd
        label: Private registry password
        description: Password for authenticating with a private registry.
        type: password
        default: ''
  - variable: longhorn.default_setting
    default: 'false'
    description: >-
      Customize the default settings before installing Longhorn for the first time. This option will only work if the cluster hasn't installed Longhorn.
    label: Customize Default Settings
    type: boolean
    show_subquestion_if: true
    group: Longhorn Default Settings
    subquestions:
      - variable: csi.kubeletRootDir
        default: null
        description: >-
          kubelet root directory. When unspecified, Longhorn uses the default value.
        type: string
        label: Kubelet Root Directory
        group: Longhorn CSI Driver Settings
      - variable: csi.podAntiAffinityPreset
        type: string
        label: Longhorn CSI Pod AntiAffinity Preset
        group: Longhorn CSI Driver Settings
        default: soft
        description: >-
          Configures Pod anti-affinity to prevent multiple instances on the same node. Use soft (tries to separate) or hard (must separate). When unspecified, Longhorn uses the default value ("soft").
      - variable: csi.attacherReplicaCount
        type: int
        default: 3
        min: 1
        max: 10
        description: >-
          Replica count of the CSI Attacher. When unspecified, Longhorn uses the default value ("3").
        label: Longhorn CSI Attacher replica count
        group: Longhorn CSI Driver Settings
      - variable: csi.provisionerReplicaCount
        type: int
        default: 3
        min: 1
        max: 10
        description: >-
          Replica count of the CSI Provisioner. When unspecified, Longhorn uses the default value ("3").
        label: Longhorn CSI Provisioner replica count
        group: Longhorn CSI Driver Settings
      - variable: csi.resizerReplicaCount
        type: int
        default: 3
        min: 1
        max: 10
        description: >-
          Replica count of the CSI Resizer. When unspecified, Longhorn uses the default value ("3").
        label: Longhorn CSI Resizer replica count
        group: Longhorn CSI Driver Settings
      - variable: csi.snapshotterReplicaCount
        type: int
        default: 3
        min: 1
        max: 10
        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.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.
        group: Longhorn Default Settings
        type: boolean
        default: 'false'
      - variable: defaultSettings.snapshotMaxCount
        label: Snapshot Maximum Count
        description: >-
          Maximum snapshot count for a volume. The value should be between 2 to 250.
        group: Longhorn Default Settings
        type: int
        min: 2
        max: 250
        default: 250
      - variable: defaultSettings.createDefaultDiskLabeledNodes
        label: Create Default Disk on Labeled Nodes
        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.
        group: Longhorn Default Settings
        type: boolean
        default: 'false'
      - variable: defaultSettings.defaultDataPath
        label: Default Data Path
        description: >-
          Default path to use for storing data on a host. An absolute directory path indicates a filesystem-type disk used by the V1 Data Engine, while a path to a block device indicates a block-type disk used by the V2 Data Engine. The default value is "/var/lib/longhorn/".
        group: Longhorn Default Settings
        type: string
        default: /var/lib/longhorn/
      - variable: defaultSettings.defaultDataLocality
        label: Default Data Locality
        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.
        group: Longhorn Default Settings
        type: enum
        options:
          - disabled
          - best-effort
        default: disabled
      - variable: defaultSettings.replicaSoftAntiAffinity
        label: Replica Node Level Soft Anti-Affinity
        description: >-
          Allow scheduling on nodes with existing healthy replicas of the same volume. By default, false.
        group: Longhorn Default Settings
        type: boolean
        default: 'false'
      - variable: defaultSettings.replicaAutoBalance
        label: Replica Auto Balance
        description: >-
          Enable this setting automatically re-balances replicas when discovered an available node.
        group: Longhorn Default Settings
        type: enum
        options:
          - disabled
          - least-effort
          - best-effort
        default: disabled
      - variable: defaultSettings.storageOverProvisioningPercentage
        label: Storage Over Provisioning Percentage
        description: >-
          Percentage of storage that can be allocated relative to hard drive capacity. The default value is 100.
        group: Longhorn Default Settings
        type: int
        min: 0
        default: 100
      - variable: defaultSettings.storageMinimalAvailablePercentage
        label: Storage Minimal Available Percentage
        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.
        group: Longhorn Default Settings
        type: int
        min: 0
        max: 100
        default: 25
      - variable: defaultSettings.storageReservedPercentageForDefaultDisk
        label: Storage Reserved Percentage For Default Disk
        description: >-
          The reserved percentage specifies the percentage of disk space that will not be allocated to the default disk on each new Longhorn node.
        group: Longhorn Default Settings
        type: int
        min: 0
        max: 100
        default: 30
      - variable: defaultSettings.upgradeChecker
        label: Enable Upgrade Checker
        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.
        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.managerUrl
        label: Manager URL
        description: >-
          The external URL used to access the Longhorn Manager API. When set, this URL is returned in API responses (the actions and links fields) instead of the internal pod IP. This is useful when accessing the API through Ingress or Gateway API HTTPRoute. Format: scheme://host[:port] (for example, https://longhorn.example.com or https://longhorn.example.com:8443). Leave it empty to use the default behavior. Warning: Internal components (including longhorn-driver-deployer and longhorn-csi-plugin) follow the links returned in API responses. If this URL passes through proxy middleware (such as an OAuth2 proxy, ingress auth, or any other HTTP-intercepting layer), those components may receive an unexpected response (such as an HTML redirect) instead of JSON, causing errors such as "invalid character '<' looking for beginning of value" and CSI driver deployment failure.
        group: Longhorn Default Settings
        type: string
        default: ''
      - 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.
        group: Longhorn Default Settings
        type: string
        default: '{"v1":"3","v2":"3"}'
      - variable: defaultSettings.defaultLonghornStaticStorageClass
        label: Default Longhorn Static StorageClass Name
        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.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.
        group: Longhorn Default Settings
        type: int
        min: 0
        default: 1440
      - variable: defaultSettings.backupExecutionTimeout
        label: Backup Execution Timeout
        description: >-
          Number of minutes that Longhorn allows for the backup execution. The default value is "1".
        group: Longhorn Default Settings
        type: int
        min: 1
        default: 1
      - variable: defaultSettings.restoreVolumeRecurringJobs
        label: Restore Volume Recurring Jobs
        description: >-
          Restore recurring jobs from the backup volume on the backup target and create recurring jobs if not exist during a backup restoration.
        group: Longhorn Default Settings
        type: boolean
        default: 'false'
      - variable: defaultSettings.recurringSuccessfulJobsHistoryLimit
        label: Cronjob Successful Jobs History Limit
        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.
        group: Longhorn Default Settings
        type: int
        min: 0
        default: 1
      - variable: defaultSettings.recurringFailedJobsHistoryLimit
        label: Cronjob Failed Jobs History Limit
        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.
        group: Longhorn Default Settings
        type: int
        min: 0
        default: 1
      - variable: defaultSettings.recurringJobMaxRetention
        label: Maximum Retention Number for Recurring Job
        description: Maximum number of snapshots or backups to be retained.
        group: Longhorn Default Settings
        type: int
        default: 100
      - variable: defaultSettings.supportBundleFailedHistoryLimit
        label: SupportBundle Failed History Limit
        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.
        group: Longhorn Default Settings
        type: int
        min: 0
        default: 1
      - variable: defaultSettings.autoSalvage
        label: Automatic salvage
        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.
        group: Longhorn Default Settings
        type: boolean
        default: 'true'
      - variable: defaultSettings.autoDeletePodWhenVolumeDetachedUnexpectedly
        label: >-
          Automatically Delete Workload Pod when The Volume Is Detached Unexpectedly
        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.
        group: Longhorn Default Settings
        type: boolean
        default: 'true'
      - variable: defaultSettings.blacklistForAutoDeletePodWhenVolumeDetachedUnexpectedly
        label: >-
          Blacklist for Automatically Delete Workload Pod when The Volume Is Detached Unexpectedly
        description: >-
          Blacklist of controller api/kind values for the setting Automatically Delete Workload Pod when the Volume Is Detached Unexpectedly. If a workload pod is managed by a controller whose api/kind is listed in this blacklist, Longhorn will not automatically delete the pod when its volume is unexpectedly detached. Multiple controller api/kind entries can be specified, separated by semicolons. For example: `apps/StatefulSet;apps/DaemonSet`. Note that the controller api/kind is case sensitive and must exactly match the api/kind in the workload pod's owner reference.
        group: Longhorn Default Settings
        type: string
        default: null
      - variable: defaultSettings.disableSchedulingOnCordonedNode
        label: Disable Scheduling On Cordoned Node
        description: >-
          Setting that prevents Longhorn Manager from scheduling replicas on a cordoned Kubernetes node. This setting is enabled by default.
        group: Longhorn Default Settings
        type: boolean
        default: 'true'
      - variable: defaultSettings.replicaZoneSoftAntiAffinity
        label: Replica Zone Level Soft Anti-Affinity
        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.
        group: Longhorn Default Settings
        type: boolean
        default: 'true'
      - variable: defaultSettings.replicaDiskSoftAntiAffinity
        label: Replica Disk Level Soft Anti-Affinity
        description: >-
          Allow scheduling on disks with existing healthy replicas of the same volume. By default, true.
        group: Longhorn Default Settings
        type: boolean
        default: 'true'
      - variable: defaultSettings.allowEmptyNodeSelectorVolume
        label: Allow Empty Node Selector Volume
        description: >-
          Setting that allows scheduling of empty node selector volumes to any node.
        group: Longhorn Default Settings
        type: boolean
        default: 'true'
      - variable: defaultSettings.allowEmptyDiskSelectorVolume
        label: Allow Empty Disk Selector Volume
        description: >-
          Setting that allows scheduling of empty disk selector volumes to any disk.
        group: Longhorn Default Settings
        type: boolean
        default: 'true'
      - variable: defaultSettings.nodeDownPodDeletionPolicy
        label: Pod Deletion Policy When Node is Down
        description: >-
          Policy that defines the action Longhorn takes when a volume is stuck with a StatefulSet or Deployment pod on a node that failed.
        group: Longhorn Default Settings
        type: enum
        options:
          - do-nothing
          - delete-statefulset-pod
          - delete-deployment-pod
          - delete-both-statefulset-and-deployment-pod
        default: do-nothing
      - variable: defaultSettings.nodeDrainPolicy
        label: Node Drain Policy
        description: >-
          Policy that defines the action Longhorn takes when a node with the last healthy replica of a volume is drained.
        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
        default: block-if-contains-last-replica
      - variable: defaultSettings.detachManuallyAttachedVolumesWhenCordoned
        label: Detach Manually Attached Volumes When Cordoned
        description: >-
          Setting that allows automatic detaching of manually-attached volumes when a node is cordoned.
        group: Longhorn Default Settings
        type: boolean
        default: 'false'
      - variable: defaultSettings.priorityClass
        label: Priority Class
        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.
        group: Longhorn Default Settings
        type: string
        default: longhorn-critical
      - variable: defaultSettings.replicaReplenishmentWaitInterval
        label: Replica Replenishment Wait Interval
        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.
        group: Longhorn Default Settings
        type: int
        min: 0
        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. **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
        default: 5
      - variable: defaultSettings.rebuildConcurrentSyncLimit
        label: Rebuild Concurrent Sync Limit
        description: >-
          Maximum number of file synchronization operations that can run concurrently during a single replica rebuild. Right now, it's for v1 data engine only.
        group: Longhorn Default Settings
        type: int
        min: 1
        max: 5
        default: 1
      - variable: defaultSettings.concurrentVolumeBackupRestorePerNodeLimit
        label: Concurrent Volume Backup Restore Per Node Limit
        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.
        group: Longhorn Default Settings
        type: int
        min: 0
        default: 5
      - variable: defaultSettings.disableRevisionCounter
        label: 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. This setting applies only to volumes created using the Longhorn UI.
        group: Longhorn Default Settings
        type: string
        default: '{"v1":"true"}'
      - variable: defaultSettings.systemManagedPodsImagePullPolicy
        label: System Managed Pod Image Pull Policy
        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.
        group: Longhorn Default Settings
        type: enum
        options:
          - if-not-present
          - always
          - never
        default: if-not-present
      - variable: defaultSettings.allowVolumeCreationWithDegradedAvailability
        label: Allow Volume Creation with Degraded Availability
        description: >-
          Setting that allows you to create and attach a volume without having all replicas scheduled at the time of creation.
        group: Longhorn Default Settings
        type: boolean
        default: 'true'
      - variable: defaultSettings.autoCleanupSystemGeneratedSnapshot
        label: Automatically Cleanup System Generated Snapshot
        description: >-
          Setting that allows Longhorn to automatically clean up the system-generated snapshot after replica rebuilding is completed.
        group: Longhorn Default Settings
        type: boolean
        default: 'true'
      - variable: defaultSettings.autoCleanupRecurringJobBackupSnapshot
        label: Automatically Cleanup Recurring Job Backup Snapshot
        description: >-
          Setting that allows Longhorn to automatically clean up the snapshot generated by a recurring backup job.
        group: Longhorn Default Settings
        type: boolean
        default: 'true'
      - variable: defaultSettings.concurrentAutomaticEngineUpgradePerNodeLimit
        label: Concurrent Automatic Engine Upgrade Per Node Limit
        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.
        group: Longhorn Default Settings
        type: int
        min: 0
        default: 0
      - variable: defaultSettings.backingImageCleanupWaitInterval
        label: Backing Image Cleanup Wait Interval
        description: >-
          Number of minutes that Longhorn waits before cleaning up the backing image file when no replicas in the disk are using it.
        group: Longhorn Default Settings
        type: int
        min: 0
        default: 60
      - variable: defaultSettings.backingImageRecoveryWaitInterval
        label: Backing Image Recovery Wait Interval
        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".
        group: Longhorn Default Settings
        type: int
        min: 0
        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. You can specify a floating point 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. [5] or the v2 Data Engine, the spdk_tgt process inside each instance manager pod uses one or more dedicated CPU cores. Setting a minimum CPU usage is critical to maintaining stability during periods of high node load.**
        group: Longhorn Default Settings
        type: string
        default: '{"v1":"12","v2":"12"}'
      - variable: defaultSettings.logLevel
        label: Log Level
        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")
        group: Longhorn Default Settings
        type: string
        default: Info
      - variable: defaultSettings.disableSnapshotPurge
        label: Disable Snapshot Purge
        description: >-
          Setting that temporarily prevents all attempts to purge volume snapshots.
        group: Longhorn Default Settings
        type: boolean
        default: 'false'
      - variable: defaultSettings.freezeFilesystemForSnapshot
        description: >-
          Setting that freezes the filesystem on the root partition before a snapshot is created.
        group: Longhorn Default Settings
        type: string
        default: '{"v1":"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.orphanResourceAutoDeletion
        label: Orphaned Data Cleanup
        description: >-
          Enables Longhorn to automatically delete orphaned resources and their associated data or processes (e.g., stale replicas). Orphaned resources on failed or unknown nodes are not automatically cleaned up. You need to specify the resource types to be deleted using a semicolon-separated list (e.g., `replica-data;instance`). Valid resource types: `replica-data`, `instance`.
        group: Longhorn Default Settings
        type: string
        default: null
      - variable: defaultSettings.orphanResourceAutoDeletionGracePeriod
        label: Orphaned Data Cleanup
        description: >-
          Specifies the wait time, in seconds, before Longhorn automatically deletes an orphaned Custom Resource (CR) and its associated resources. Note that if a user manually deletes an orphaned CR, the deletion occurs immediately and does not respect this grace period.
        group: Longhorn Default Settings
        type: int
        default: '300'
      - 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: null
      - variable: defaultSettings.EndpointNetworkForRWXVolume
        label: Endpoint Network For RWX Volume
        description: >-
          Specifies a dedicated network for mounting RWX (ReadWriteMany) volumes. Leave this blank to use the default Kubernetes cluster network. **Caution**: This setting should change after all RWX volumes are detached because some Longhorn component pods must be recreated to apply the setting. You cannot modify this setting while RWX volumes are still attached.
        group: Longhorn Default Settings
        type: string
        default: null
      - 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: null
      - 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: null
      - variable: defaultSettings.systemManagedCSIComponentsResourceLimits
        label: System Managed CSI Components Resource Limits
        description: >-
          Resource limits for system managed CSI components.  This setting allows you to configure CPU and memory requests/limits for CSI attacher, provisioner, resizer, snapshotter, and plugin components. Supported components: csi-attacher, csi-provisioner, csi-resizer, csi-snapshotter, longhorn-csi-plugin, node-driver-registrar, longhorn-liveness-probe. Notice that changing resource limits will cause CSI components to restart, which may temporarily affect volume provisioning and attach/detach operations until the components are ready. The value should be a JSON object with component names as keys and ResourceRequirements as values.
        group: Longhorn Default Settings
        type: string
        default: null
      - 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: string
        default: '{"v1":"8","v2":"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: enum
        options:
          - enabled
          - fast-check
          - disabled
        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: string
        default: '{"v1":"false","v2":"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: '{"v1":"0 0 */7 * *","v2":"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: string
        default: '{"v1":"true","v2":"true"}'
      - 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.backupBlockSize
        label: Backup Block Size
        description: >-
          Specifies the default backup block size, in MiB, used when creating a new volume. Supported values are 2 or 16.
        group: Longhorn Default Settings
        type: enum
        options:
          - '2'
          - '16'
        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.dataEngineHugepageEnabled
        label: V2 Data Engine
        description: >-
          Applies only to the V2 Data Engine. Enables hugepages for the Storage Performance Development Kit (SPDK) target daemon. If disabled, legacy memory is used. Allocation size is set via the Data Engine Memory Size setting.
        group: Longhorn V2 Data Engine (Experimental Feature) Settings
        type: string
        default: '{"v2":"true"}'
      - variable: defaultSettings.dataEngineMemorySize
        label: V2 Data Engine
        description: >-
          Applies only to the V2 Data Engine. Specifies the memory size, in MiB, allocated to the Storage Performance Development Kit (SPDK) target daemon. When hugepage is enabled, this defines the hugepage size; when legacy memory is used, hugepage is disabled.
        group: Longhorn V2 Data Engine (Experimental Feature) Settings
        type: string
        default: '{"v2":"2048"}'
      - variable: defaultSettings.dataEngineLogLevel
        label: Data Engine Log Level
        description: >-
          Applies only to the V2 Data Engine. Specifies the log level for the Storage Performance Development Kit (SPDK) target daemon. Supported values are: Error, Warning, Notice, Info, and Debug. The default is Notice.
        group: Longhorn V2 Data Engine (Experimental Feature) Settings
        type: string
        default: '{"v2":"Notice"}'
      - variable: defaultSettings.dataEngineLogFlags
        label: Data Engine Log Flags
        description: >-
          Applies only to the V2 Data Engine. Specifies the log flags for the Storage Performance Development Kit (SPDK) target daemon.
        group: Longhorn V2 Data Engine (Experimental Feature) Settings
        type: string
        default: '{"v2":""}'
      - 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.autoCleanupSnapshotAfterOnDemandBackupCompleted
        label: Auto Cleanup Snapshot After On-Demand Backup Completed
        description: >-
          Setting that automatically cleans up the snapshot after the on-demand backup is completed.
        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: defaultSettings.offlineReplicaRebuilding
        label: Offline Replica Rebuilding
        description: >-
          Enables automatic rebuilding of degraded replicas while the volume is detached. This setting only takes effect if the individual volume setting is set to `ignored` or `enabled`.
        group: Longhorn Default Settings
        type: string
        default: '{"v1":"false","v2":"false"}'
      - variable: defaultSettings.dataEngineCPUMask
        label: Data Engine CPU Mask
        description: >-
          Applies only to the V2 Data Engine. Specifies the CPU cores on which the Storage Performance Development Kit (SPDK) target daemon runs. The daemon is deployed in each Instance Manager pod. Ensure that the number of assigned cores does not exceed the guaranteed Instance Manager CPUs for the V2 Data Engine.
        group: Longhorn Default Settings
        type: string
        default: '{"v2":"0x1"}'
      - variable: defaultSettings.replicaRebuildingBandwidthLimit
        label: Replica Rebuilding Bandwidth Limit
        description: >-
          Applies only to the V2 Data Engine. Specifies the default write bandwidth limit, in megabytes per second (MB/s), for volume replica rebuilding. If this value is set to 0, there will be no write bandwidth limitation. Individual volumes can override this setting by specifying their own rebuilding bandwidth limit.
        group: Longhorn Default Settings
        type: string
        default: '{"v2":"0"}'
      - variable: defaultSettings.instanceManagerPodLivenessProbeTimeout
        label: Instance Manager Pod Liveness Probe Timeout
        description: >-
          In seconds. The setting specifies the timeout for the instance manager pod liveness probe. The default value is 10 seconds.
        group: Longhorn Default Settings
        type: int
        min: 1
        max: 60
        default: 10
      - variable: defaultSettings.snapshotHeavyTaskConcurrentLimit
        label: Snapshot Heavy Task Concurrent Limit
        description: >-
          Setting that controls how many snapshot heavy task operations (such as purge and clone) can run concurrently per node. This is a best-effort mechanism: due to the distributed nature of the system, temporary oversubscription may occur. The limiter reduces worst-case overload but does not guarantee perfect enforcement.
        group: Longhorn Default Settings
        type: int
        min: 0
        default: 5
      - variable: defaultSettings.nodeDiskHealthMonitoring
        label: Node Disk Health Monitoring
        description: >-
          Controls whether Longhorn monitors and records health information for node disks. When disabled, disk health checks and status updates are skipped.
        group: Longhorn Default Settings
        type: boolean
        default: true
      - variable: defaultSettings.csiAllowedTopologyKeys
        label: CSI Allowed Topology Keys
        description: >-
          Comma-separated list of topology keys that the Longhorn CSI driver is allowed to pass through. When empty (default), no topology keys are passed through, and PVs will have no nodeAffinity. When configured (e.g., "topology.kubernetes.io/zone,topology.kubernetes.io/region"), only the specified keys are kept in topology segments. All other keys are filtered out from both CreateVolumeResponse.AccessibleTopology and NodeGetInfo topology.
        group: Longhorn Default Settings
        type: string
        default: null
      - variable: defaultSettings.csiStorageCapacityTracking
        label: CSI Storage Capacity Tracking
        description: >-
          Controls CSI storage capacity tracking, which allows the kube-scheduler to filter nodes that cannot fit the requested volume.
        group: Longhorn Default Settings
        type: boolean
        default: false
  - variable: persistence.defaultClass
    default: 'true'
    description: Setting that allows you to specify the default Longhorn StorageClass.
    label: Default Storage Class
    group: Longhorn Storage Class Settings
    required: true
    type: boolean
    subquestions: []
  - variable: persistence.reclaimPolicy
    label: Storage Class Retain Policy
    description: >-
      Reclaim policy that provides instructions for handling of a volume after its claim is released. (Options: "Retain", "Delete")
    group: Longhorn Storage Class Settings
    required: true
    type: enum
    options:
      - Delete
      - Retain
    default: Delete
    subquestions: []
  - variable: persistence.volumeBindingMode
    label: Storage Class Volume Binding Mode
    description: >-
      VolumeBindingMode controls when volume binding and dynamic provisioning should occur. (Options: "Immediate", "WaitForFirstConsumer") (Defaults to "Immediate")
    group: Longhorn Storage Class Settings
    required: true
    type: enum
    options:
      - Immediate
      - WaitForFirstConsumer
    default: Immediate
    subquestions: []
  - 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
    subquestions: []
  - 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")
    group: Longhorn Storage Class Settings
    required: true
    type: enum
    options:
      - 'true'
      - 'false'
    default: 'true'
    subquestions: []
  - variable: persistence.defaultClassReplicaCount
    description: Replica count of the default Longhorn StorageClass.
    label: Default Storage Class Replica Count
    group: Longhorn Storage Class Settings
    type: int
    min: 1
    max: 10
    default: 3
    subquestions: []
  - variable: persistence.defaultDataLocality
    description: >-
      Data locality of the default Longhorn StorageClass. (Options: "disabled", "best-effort")
    label: Default Storage Class Data Locality
    group: Longhorn Storage Class Settings
    type: enum
    options:
      - disabled
      - best-effort
    default: disabled
    subquestions: []
  - variable: persistence.recurringJobSelector.enable
    description: >-
      Setting that allows you to enable the recurring job selector for a Longhorn StorageClass.
    group: Longhorn Storage Class Settings
    label: Enable Storage Class Recurring Job Selector
    type: boolean
    default: false
    show_subquestion_if: true
    subquestions:
      - variable: persistence.recurringJobSelector.jobList
        description: >-
          Recurring job selector for a Longhorn StorageClass. Ensure that quotes are used correctly when specifying job parameters. (Example: `[{"name":"backup", "isGroup":true}]`)
        label: Storage Class Recurring Job Selector List
        group: Longhorn Storage Class Settings
        type: string
        default: null
  - variable: persistence.defaultDiskSelector.enable
    description: >-
      Setting that allows you to enable the disk selector for the default Longhorn StorageClass.
    group: Longhorn Storage Class Settings
    label: Enable Storage Class Disk Selector
    type: boolean
    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: null
  - variable: persistence.defaultNodeSelector.enable
    description: >-
      Setting that allows you to enable the node selector for the default Longhorn StorageClass.
    group: Longhorn Storage Class Settings
    label: Enable Storage Class Node Selector
    type: boolean
    default: false
    show_subquestion_if: true
    subquestions:
      - variable: persistence.defaultNodeSelector.selector
        label: Storage Class Node Selector
        description: >-
          Node selector for the default Longhorn StorageClass. Longhorn uses only nodes with the specified tags for storing volume data. (Examples: "storage,fast")
        group: Longhorn Storage Class Settings
        type: string
        default: null
  - variable: persistence.backingImage.enable
    description: Setting that allows you to use a backing image in a Longhorn StorageClass.
    group: Longhorn Storage Class Settings
    label: Default Storage Class Backing Image
    type: boolean
    default: false
    show_subquestion_if: true
    subquestions:
      - variable: persistence.backingImage.name
        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.
        label: Storage Class Backing Image Name
        group: Longhorn Storage Class Settings
        type: string
        default: null
      - variable: persistence.backingImage.expectedChecksum
        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: null
      - 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. **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
        options:
          - ''
          - download
          - upload
          - 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"}'`) **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
        default: null
  - variable: persistence.unmapMarkSnapChainRemoved
    description: >-
      Setting that allows you to enable automatic snapshot removal during filesystem trim for a Longhorn StorageClass. (Options: "ignored", "enabled", "disabled")
    label: Default Storage Class Remove Snapshots During Filesystem Trim
    group: Longhorn Storage Class Settings
    type: enum
    options:
      - ignored
      - enabled
      - disabled
    default: ignored
    subquestions: []
  - 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
    subquestions: []
  - 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
    subquestions: []
  - variable: ingress.enabled
    default: 'false'
    description: Expose app using Layer 7 Load Balancer - ingress
    type: boolean
    group: Services and Load Balancing
    label: Expose app using Layer 7 Load Balancer
    show_subquestion_if: true
    subquestions:
      - variable: ingress.host
        default: xip.io
        description: Hostname of the Layer 7 load balancer.
        type: hostname
        required: true
        label: Layer 7 Load Balancer Hostname
      - variable: ingress.path
        default: /
        description: >-
          Default ingress path. You can access the Longhorn UI by following the full ingress path {{host}}+{{path}}.
        type: string
        required: true
        label: Ingress Path
      - variable: ingress.pathType
        default: ImplementationSpecific
        description: >-
          Path type for the ingress. (Options: "ImplementationSpecific", "Exact", "Prefix")
        type: enum
        options:
          - ImplementationSpecific
          - Exact
          - Prefix
        required: true
        label: Ingress Path Type
  - variable: httproute.enabled
    default: 'false'
    description: Expose app using Gateway API HTTPRoute
    type: boolean
    group: Services and Load Balancing
    label: Expose app using Gateway API HTTPRoute
    show_subquestion_if: true
    subquestions:
      - variable: httproute.parentRefs
        default: '[]'
        description: >-
          Gateway references as JSON array. Required fields: name, namespace. Optional: group (default: gateway.networking.k8s.io), kind (default: Gateway), sectionName. Example: [{"name":"my-gateway","namespace":"default","sectionName":"https"}]
        type: string
        required: true
        label: Gateway References (JSON array)
      - variable: httproute.hostnames
        default: '[]'
        description: >-
          Hostnames for HTTPRoute as JSON array (e.g., ["longhorn.example.com"])
        type: string
        required: true
        label: Hostnames (JSON array)
      - variable: httproute.path
        default: /
        description: >-
          Default path for HTTPRoute. You can access the Longhorn UI by following the full path.
        type: string
        required: true
        label: HTTPRoute Path
      - variable: httproute.pathType
        default: PathPrefix
        description: >-
          Path match type for HTTPRoute. (Options: "Exact", "PathPrefix")
        type: enum
        options:
          - Exact
          - PathPrefix
        required: true
        label: HTTPRoute Path Type
  - variable: service.ui.type
    default: Rancher-Proxy
    description: >-
      Service type for Longhorn UI. (Options: "ClusterIP", "NodePort", "LoadBalancer", "Rancher-Proxy")
    type: enum
    options:
      - ClusterIP
      - NodePort
      - LoadBalancer
      - Rancher-Proxy
    label: Longhorn UI Service
    show_if: ingress.enabled=false
    group: Services and Load Balancing
    show_subquestion_if: NodePort
    subquestions:
      - variable: service.ui.nodePort
        default: ''
        description: >-
          NodePort port number for Longhorn UI. When unspecified, Longhorn selects a free port between 30000 and 32767.
        type: int
        min: 30000
        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: null
      - 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: null
      - 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.
    label: Pod Security Policy
    type: boolean
    group: Other Settings
    subquestions: []
  - variable: global.cattle.windowsCluster.enabled
    default: 'false'
    description: Setting that allows Longhorn to run on a Rancher Windows cluster.
    label: Rancher Windows Cluster
    type: boolean
    group: Other Settings
    subquestions: []
  - variable: networkPolicies.enabled
    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'
    type: boolean
    subquestions:
      - variable: networkPolicies.type
        label: Network Policies for Ingress
        description: >-
          Distribution that determines the policy for allowing access for an ingress. (Options: "k3s", "rke2", "rke1")
        show_if: networkPolicies.enabled=true&&ingress.enabled=true
        type: enum
        default: rke2
        options:
          - rke1
          - rke2
          - k3s
