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.12.0
        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.12.0
        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.12.0
        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.12.0
        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.12.0
        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.12.0
        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.86
        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.12.0
        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-20260514
        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.17.0
        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-20260514
        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-20260514
        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.19.0
        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.snapshotCountWarningThreshold
        label: Snapshot Count Warning Threshold
        description: >-
          Warning threshold for the count-based TooManySnapshots volume condition. The value should be between 2 to 250.
        group: Longhorn Default Settings
        type: int
        min: 2
        max: 250
        default: 100
      - 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 assigned CPU cores do not exceed the guaranteed CPUs allocated to the V2 Data Engine Instance Manager. A minimum of 2 CPU cores is recommended. SPDK uses a busy-polling reactor model where the master reactor handles both I/O polling and management RPCs. When only a single core is assigned, heavy I/O workloads can delay or starve RPC processing, resulting in increased latency, timeout events, and operational instability. Assigning 2 or more cores allows I/O and management tasks to run on separate reactors, improving responsiveness and operational stability.
        group: Longhorn Default Settings
        type: string
        default: '{"v2":"0x3"}'
      - 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.engineImagePodLivenessProbePeriod
        label: Engine Image Pod Liveness Probe Period
        description: >-
          Interval (in seconds) between liveness probes for engine image pods.
        group: Longhorn Default Settings
        type: int
        min: 1
        max: 60
        default: 5
      - variable: defaultSettings.engineImagePodLivenessProbeTimeout
        label: Engine Image Pod Liveness Probe Timeout
        description: >-
          Time (in seconds) to wait for a liveness probe to complete before marking it as failed.
        group: Longhorn Default Settings
        type: int
        min: 1
        max: 60
        default: 4
      - variable: defaultSettings.engineImagePodLivenessProbeFailureThreshold
        label: Engine Image Pod Liveness Probe Failure Threshold
        description: >-
          Number of consecutive failed probes required to trigger a pod restart.
        group: Longhorn Default Settings
        type: int
        min: 1
        max: 60
        default: 3
      - 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: defaultSettings.kubernetesMetricsServerMetricsEnabled
        label: Kubernetes Metrics Server Metrics Enabled
        description: >-
          Allows Longhorn to query the Kubernetes Metrics Server ('metrics.k8s.io') for pod and node resource usage.
        group: Longhorn Default Settings
        type: boolean
        default: true
  - 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.shareManagerNodeSelector.enable
    description: >-
      Setting that allows you to enable the share manager node selector for the default Longhorn StorageClass.
    group: Longhorn Storage Class Settings
    label: Enable Storage Class Share Manager Node Selector
    type: boolean
    default: false
    show_subquestion_if: true
    subquestions:
      - variable: persistence.shareManagerNodeSelector.selector
        label: Storage Class Share Manager Node Selector
        description: >-
          Node selector for the share manager pods of the default Longhorn StorageClass. Longhorn schedules share manager pods only on nodes with the specified tags. (Examples: "storage,fast")
        group: Longhorn Storage Class Settings
        type: string
        default: null
  - variable: persistence.shareManagerTolerations.enable
    description: >-
      Setting that allows you to enable the share manager tolerations for the default Longhorn StorageClass.
    group: Longhorn Storage Class Settings
    label: Enable Storage Class Share Manager Tolerations
    type: boolean
    default: false
    show_subquestion_if: true
    subquestions:
      - variable: persistence.shareManagerTolerations.tolerations
        label: Storage Class Share Manager Tolerations
        description: >-
          Tolerations for the share manager pods of the default Longhorn StorageClass. Specify values using a semicolon-separated list in `kubectl taint` syntax. (Example: "key1=value1:effect; key2=value2:effect")
        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
