From 0a25bf3bae15424de954a0cba24334270664e164 Mon Sep 17 00:00:00 2001 From: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> Date: Thu, 21 May 2026 21:50:16 -0500 Subject: [PATCH 1/4] chore(examples): refresh longhorn example to v1.11.2 Signed-off-by: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> --- examples/longhorn/values.yaml | 334 +--------------------------------- examples/longhorn/zarf.yaml | 53 +++--- 2 files changed, 25 insertions(+), 362 deletions(-) diff --git a/examples/longhorn/values.yaml b/examples/longhorn/values.yaml index 2398307d6a..930cfc720f 100644 --- a/examples/longhorn/values.yaml +++ b/examples/longhorn/values.yaml @@ -1,332 +1,4 @@ -# Default values for longhorn. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -global: - cattle: - systemDefaultRegistry: "" - windowsCluster: - # Enable this to allow Longhorn to run on the Rancher deployed Windows cluster - enabled: false - # Tolerate Linux node taint - tolerations: - - key: "cattle.io/os" - value: "linux" - effect: "NoSchedule" - operator: "Equal" - # Select Linux nodes - nodeSelector: - kubernetes.io/os: "linux" - # Recognize toleration and node selector for Longhorn run-time created components - defaultSetting: - taintToleration: cattle.io/os=linux:NoSchedule - systemManagedComponentsNodeSelector: kubernetes.io/os:linux - -image: - longhorn: - engine: - repository: longhornio/longhorn-engine - tag: v1.4.0 - manager: - repository: longhornio/longhorn-manager - tag: v1.4.0 - ui: - repository: longhornio/longhorn-ui - tag: v1.4.0 - instanceManager: - repository: longhornio/longhorn-instance-manager - tag: v1.4.0 - shareManager: - repository: longhornio/longhorn-share-manager - tag: v1.4.0 - backingImageManager: - repository: longhornio/backing-image-manager - tag: v1.4.0 - supportBundleKit: - repository: longhornio/support-bundle-kit - tag: v0.0.17 - csi: - attacher: - repository: longhornio/csi-attacher - tag: v3.4.0 - provisioner: - repository: longhornio/csi-provisioner - tag: v2.1.2 - nodeDriverRegistrar: - repository: longhornio/csi-node-driver-registrar - tag: v2.5.0 - resizer: - repository: longhornio/csi-resizer - tag: v1.3.0 - snapshotter: - repository: longhornio/csi-snapshotter - tag: v5.0.1 - livenessProbe: - repository: longhornio/livenessprobe - tag: v2.8.0 - pullPolicy: IfNotPresent - -service: - ui: - type: ClusterIP - nodePort: null - manager: - type: ClusterIP - nodePort: "" - loadBalancerIP: "" - loadBalancerSourceRanges: "" - -persistence: - defaultClass: true - defaultFsType: ext4 - defaultMkfsParams: "" - defaultClassReplicaCount: 3 - defaultDataLocality: disabled # best-effort otherwise - reclaimPolicy: Delete - migratable: false - recurringJobSelector: - enable: false - jobList: [] - backingImage: - enable: false - name: ~ - dataSourceType: ~ - dataSourceParameters: ~ - expectedChecksum: ~ - defaultNodeSelector: - enable: false # disable by default - selector: [] - removeSnapshotsDuringFilesystemTrim: ignored # "enabled" or "disabled" otherwise - +# Keep this file minimal so we inherit Longhorn chart defaults. +# K3s uses a non-standard kubelet root path. csi: - kubeletRootDir: "/var/lib/kubelet" - attacherReplicaCount: ~ - provisionerReplicaCount: ~ - resizerReplicaCount: ~ - snapshotterReplicaCount: ~ - -defaultSettings: - backupTarget: ~ - backupTargetCredentialSecret: ~ - allowRecurringJobWhileVolumeDetached: ~ - createDefaultDiskLabeledNodes: ~ - defaultDataPath: ~ - defaultDataLocality: ~ - replicaSoftAntiAffinity: ~ - replicaAutoBalance: ~ - storageOverProvisioningPercentage: ~ - storageMinimalAvailablePercentage: ~ - upgradeChecker: ~ - defaultReplicaCount: ~ - defaultLonghornStaticStorageClass: ~ - backupstorePollInterval: ~ - failedBackupTTL: ~ - restoreVolumeRecurringJobs: ~ - recurringSuccessfulJobsHistoryLimit: ~ - recurringFailedJobsHistoryLimit: ~ - supportBundleFailedHistoryLimit: ~ - taintToleration: ~ - systemManagedComponentsNodeSelector: ~ - priorityClass: ~ - autoSalvage: ~ - autoDeletePodWhenVolumeDetachedUnexpectedly: ~ - disableSchedulingOnCordonedNode: ~ - replicaZoneSoftAntiAffinity: ~ - nodeDownPodDeletionPolicy: ~ - allowNodeDrainWithLastHealthyReplica: ~ - mkfsExt4Parameters: ~ - disableReplicaRebuild: ~ - replicaReplenishmentWaitInterval: ~ - concurrentReplicaRebuildPerNodeLimit: ~ - concurrentVolumeBackupRestorePerNodeLimit: ~ - disableRevisionCounter: ~ - systemManagedPodsImagePullPolicy: ~ - allowVolumeCreationWithDegradedAvailability: ~ - autoCleanupSystemGeneratedSnapshot: ~ - concurrentAutomaticEngineUpgradePerNodeLimit: ~ - backingImageCleanupWaitInterval: ~ - backingImageRecoveryWaitInterval: ~ - guaranteedEngineManagerCPU: ~ - guaranteedReplicaManagerCPU: ~ - kubernetesClusterAutoscalerEnabled: ~ - orphanAutoDeletion: ~ - storageNetwork: ~ - deletingConfirmationFlag: ~ - engineReplicaTimeout: ~ - snapshotDataIntegrity: ~ - snapshotDataIntegrityImmediateCheckAfterSnapshotCreation: ~ - snapshotDataIntegrityCronjob: ~ - removeSnapshotsDuringFilesystemTrim: ~ - fastReplicaRebuildEnabled: ~ - replicaFileSyncHttpClientTimeout: ~ -privateRegistry: - createSecret: ~ - registryUrl: ~ - registryUser: ~ - registryPasswd: ~ - registrySecret: ~ - -longhornManager: - log: - ## Allowed values are `plain` or `json`. - format: plain - priorityClass: ~ - tolerations: [] - ## If you want to set tolerations for Longhorn Manager DaemonSet, delete the `[]` in the line above - ## and uncomment this example block - # - key: "key" - # operator: "Equal" - # value: "value" - # effect: "NoSchedule" - nodeSelector: {} - ## If you want to set node selector for Longhorn Manager DaemonSet, delete the `{}` in the line above - ## and uncomment this example block - # label-key1: "label-value1" - # label-key2: "label-value2" - serviceAnnotations: {} - ## If you want to set annotations for the Longhorn Manager service, delete the `{}` in the line above - ## and uncomment this example block - # annotation-key1: "annotation-value1" - # annotation-key2: "annotation-value2" - -longhornDriver: - priorityClass: ~ - tolerations: [] - ## If you want to set tolerations for Longhorn Driver Deployer Deployment, delete the `[]` in the line above - ## and uncomment this example block - # - key: "key" - # operator: "Equal" - # value: "value" - # effect: "NoSchedule" - nodeSelector: {} - ## If you want to set node selector for Longhorn Driver Deployer Deployment, delete the `{}` in the line above - ## and uncomment this example block - # label-key1: "label-value1" - # label-key2: "label-value2" - -longhornUI: - replicas: 2 - priorityClass: ~ - tolerations: [] - ## If you want to set tolerations for Longhorn UI Deployment, delete the `[]` in the line above - ## and uncomment this example block - # - key: "key" - # operator: "Equal" - # value: "value" - # effect: "NoSchedule" - nodeSelector: {} - ## If you want to set node selector for Longhorn UI Deployment, delete the `{}` in the line above - ## and uncomment this example block - # label-key1: "label-value1" - # label-key2: "label-value2" - -longhornConversionWebhook: - replicas: 2 - priorityClass: ~ - tolerations: [] - ## If you want to set tolerations for Longhorn conversion webhook Deployment, delete the `[]` in the line above - ## and uncomment this example block - # - key: "key" - # operator: "Equal" - # value: "value" - # effect: "NoSchedule" - nodeSelector: {} - ## If you want to set node selector for Longhorn conversion webhook Deployment, delete the `{}` in the line above - ## and uncomment this example block - # label-key1: "label-value1" - # label-key2: "label-value2" - -longhornAdmissionWebhook: - replicas: 2 - priorityClass: ~ - tolerations: [] - ## If you want to set tolerations for Longhorn admission webhook Deployment, delete the `[]` in the line above - ## and uncomment this example block - # - key: "key" - # operator: "Equal" - # value: "value" - # effect: "NoSchedule" - nodeSelector: {} - ## If you want to set node selector for Longhorn admission webhook Deployment, delete the `{}` in the line above - ## and uncomment this example block - # label-key1: "label-value1" - # label-key2: "label-value2" - -longhornRecoveryBackend: - replicas: 2 - priorityClass: ~ - tolerations: [] - ## If you want to set tolerations for Longhorn recovery backend Deployment, delete the `[]` in the line above - ## and uncomment this example block - # - key: "key" - # operator: "Equal" - # value: "value" - # effect: "NoSchedule" - nodeSelector: {} - ## If you want to set node selector for Longhorn recovery backend Deployment, delete the `{}` in the line above - ## and uncomment this example block - # label-key1: "label-value1" - # label-key2: "label-value2" - -ingress: - ## Set to true to enable ingress record generation - enabled: false - - ## Add ingressClassName to the Ingress - ## Can replace the kubernetes.io/ingress.class annotation on v1.18+ - ingressClassName: ~ - - host: sslip.io - - ## Set this to true in order to enable TLS on the ingress record - tls: false - - ## Enable this in order to enable that the backend service will be connected at port 443 - secureBackends: false - - ## If TLS is set to true, you must declare what secret will store the key/certificate for TLS - tlsSecret: longhorn.local-tls - - ## If ingress is enabled you can set the default ingress path - ## then you can access the UI by using the following full path {{host}}+{{path}} - path: / - - ## Ingress annotations done as key:value pairs - ## If you're using kube-lego, you will want to add: - ## kubernetes.io/tls-acme: true - ## - ## For a full list of possible ingress annotations, please see - ## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/annotations.md - ## - ## If tls is set to true, annotation ingress.kubernetes.io/secure-backends: "true" will automatically be set - annotations: - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: true - - secrets: - ## If you're providing your own certificates, please use this to add the certificates as secrets - ## key and certificate should start with -----BEGIN CERTIFICATE----- or - ## -----BEGIN RSA PRIVATE KEY----- - ## - ## name should line up with a tlsSecret set further up - ## If you're using kube-lego, this is unneeded, as it will create the secret for you if it is not set - ## - ## It is also possible to create and manage the certificates outside of this helm chart - ## Please see README.md for more information - # - name: longhorn.local-tls - # key: - # certificate: - -# For Kubernetes < v1.25, if your cluster enables Pod Security Policy admission controller, -# set this to `true` to ship longhorn-psp which allow privileged Longhorn pods to start -enablePSP: false - -## Specify override namespace, specifically this is useful for using longhorn as sub-chart -## and its release namespace is not the `longhorn-system` -namespaceOverride: "" - -# Annotations to add to the Longhorn Manager DaemonSet Pods. Optional. -annotations: {} - -serviceAccount: - # Annotations to add to the service account - annotations: {} + kubeletRootDir: "/var/lib/rancher/k3s/agent/kubelet" diff --git a/examples/longhorn/zarf.yaml b/examples/longhorn/zarf.yaml index 53c540e1e7..6bd704020a 100644 --- a/examples/longhorn/zarf.yaml +++ b/examples/longhorn/zarf.yaml @@ -2,31 +2,22 @@ kind: ZarfPackageConfig metadata: name: longhorn description: Example package for Longhorn cloud native distributed block storage for Kubernetes - version: 1.4.0 + version: 1.11.2 components: - - name: longhorn-environment-check + - name: longhornctl required: true files: - - source: https://raw.githubusercontent.com/longhorn/longhorn/v1.4.0/scripts/environment_check.sh - target: environment_check.sh - shasum: 4df400fa81e65e51d83db8ff8e4f513ddd32c124619bb36c94319e71ca4d0a4d - executable: true - - source: https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 - target: jq - shasum: af986793a515d500ab2d35f8d2aecd656e764504b789b66d7e1a0b727a124c44 + - source: https://github.com/longhorn/cli/releases/download/v1.11.2/longhornctl-linux-amd64 + target: longhornctl + shasum: 61c467a2c7830b7e1c57af17eb482c036077755cb6608f9878344583585a5187 executable: true actions: - # Run the Longhorn Environment Check on this cluster's nodes. + # Run the Longhornctl preflight on this cluster's nodes. onDeploy: after: - cmd: | export PATH=$PATH:./ - awk '{gsub(/kubectl /, "./zarf tools kubectl ")} 1' ./environment_check.sh > tmp - mv tmp ./environment_check.sh - awk '{gsub(/"kubectl" /, "")} 1' ./environment_check.sh > tmp - mv tmp ./environment_check.sh - chmod +x ./environment_check.sh - ./environment_check.sh + ./longhornctl check preflight - name: longhorn required: true description: Deploy Longhorn into a Kubernetes cluster. https://longhorn.io @@ -43,24 +34,24 @@ components: charts: - name: longhorn url: https://charts.longhorn.io - version: 1.4.0 + version: 1.11.2 namespace: longhorn-system valuesFiles: - values.yaml images: - - longhornio/csi-attacher:v3.4.0 - - longhornio/csi-provisioner:v2.1.2 - - longhornio/csi-resizer:v1.3.0 - - longhornio/csi-snapshotter:v5.0.1 - - longhornio/csi-node-driver-registrar:v2.5.0 - - longhornio/livenessprobe:v2.8.0 - - longhornio/backing-image-manager:v1.4.0 - - longhornio/longhorn-engine:v1.4.0 - - longhornio/longhorn-instance-manager:v1.4.0 - - longhornio/longhorn-manager:v1.4.0 - - longhornio/longhorn-share-manager:v1.4.0 - - longhornio/longhorn-ui:v1.4.0 - - longhornio/support-bundle-kit:v0.0.17 + - longhornio/csi-attacher:v4.11.0-20260428 + - longhornio/csi-provisioner:v5.3.0-20260428 + - longhornio/csi-resizer:v2.1.0-20260428 + - longhornio/csi-snapshotter:v8.5.0-20260428 + - longhornio/csi-node-driver-registrar:v2.16.0-20260428 + - longhornio/livenessprobe:v2.18.0-20260428 + - longhornio/backing-image-manager:v1.11.2 + - longhornio/longhorn-engine:v1.11.2 + - longhornio/longhorn-instance-manager:v1.11.2 + - longhornio/longhorn-manager:v1.11.2 + - longhornio/longhorn-share-manager:v1.11.2 + - longhornio/longhorn-ui:v1.11.2 + - longhornio/support-bundle-kit:v0.0.84 documentation: - readme: readme.md \ No newline at end of file + readme: readme.md From 38139e1f1d6a0d0f53ed3d1edaef615459be290b Mon Sep 17 00:00:00 2001 From: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> Date: Fri, 29 May 2026 10:07:31 -0500 Subject: [PATCH 2/4] fix(examples/longhorn): package preflight checker image and fix registry config Signed-off-by: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> --- examples/longhorn/values.yaml | 6 ++++++ examples/longhorn/zarf.yaml | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/examples/longhorn/values.yaml b/examples/longhorn/values.yaml index 930cfc720f..f21b530b98 100644 --- a/examples/longhorn/values.yaml +++ b/examples/longhorn/values.yaml @@ -2,3 +2,9 @@ # K3s uses a non-standard kubelet root path. csi: kubeletRootDir: "/var/lib/rancher/k3s/agent/kubelet" + +preUpgradeChecker: + upgradeVersionCheck: false + +global: + imageRegistry: "127.0.0.1:31999" diff --git a/examples/longhorn/zarf.yaml b/examples/longhorn/zarf.yaml index 6bd704020a..6c383a2b9c 100644 --- a/examples/longhorn/zarf.yaml +++ b/examples/longhorn/zarf.yaml @@ -11,13 +11,17 @@ components: target: longhornctl shasum: 61c467a2c7830b7e1c57af17eb482c036077755cb6608f9878344583585a5187 executable: true + images: + - longhornio/longhorn-cli:v1.11.2 actions: # Run the Longhornctl preflight on this cluster's nodes. onDeploy: after: - cmd: | export PATH=$PATH:./ - ./longhornctl check preflight + ./zarf tools kubectl create namespace longhorn-system || true + ./zarf tools kubectl get secret private-registry -n zarf -o yaml | sed 's/namespace: zarf/namespace: longhorn-system/' | ./zarf tools kubectl apply -f - + ./longhornctl check preflight || true - name: longhorn required: true description: Deploy Longhorn into a Kubernetes cluster. https://longhorn.io From 34ba81eab392fd5331c1173a258693b5d81295d8 Mon Sep 17 00:00:00 2001 From: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> Date: Fri, 29 May 2026 19:42:45 -0500 Subject: [PATCH 3/4] chore(examples/longhorn): remove longhornctl component to simplify multi-arch support Signed-off-by: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> --- examples/longhorn/readme.md | 2 +- examples/longhorn/zarf.yaml | 18 ------------------ 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/examples/longhorn/readme.md b/examples/longhorn/readme.md index 2fd46bf487..56fa6036d3 100644 --- a/examples/longhorn/readme.md +++ b/examples/longhorn/readme.md @@ -1,6 +1,6 @@ This example shows you how to deploy [Longhorn](https://longhorn.io/) using Zarf. -Before deploying Longhorn make sure your nodes are configured with the [Longhorn Installation Requirements](https://longhorn.io/docs/latest/deploy/install/#installation-requirements). +Before deploying Longhorn, make sure your nodes are configured with the [Longhorn Installation Requirements](https://longhorn.io/docs/latest/deploy/install/#installation-requirements). Note that the automated `longhornctl` preflight environment checker is not included in this package to support multi-architecture compatibility, so node readiness must be verified manually. You will need [open-iscsi](https://longhorn.io/docs/latest/deploy/install/#installing-open-iscsi) installed. diff --git a/examples/longhorn/zarf.yaml b/examples/longhorn/zarf.yaml index 6c383a2b9c..c442ea80d2 100644 --- a/examples/longhorn/zarf.yaml +++ b/examples/longhorn/zarf.yaml @@ -4,24 +4,6 @@ metadata: description: Example package for Longhorn cloud native distributed block storage for Kubernetes version: 1.11.2 components: - - name: longhornctl - required: true - files: - - source: https://github.com/longhorn/cli/releases/download/v1.11.2/longhornctl-linux-amd64 - target: longhornctl - shasum: 61c467a2c7830b7e1c57af17eb482c036077755cb6608f9878344583585a5187 - executable: true - images: - - longhornio/longhorn-cli:v1.11.2 - actions: - # Run the Longhornctl preflight on this cluster's nodes. - onDeploy: - after: - - cmd: | - export PATH=$PATH:./ - ./zarf tools kubectl create namespace longhorn-system || true - ./zarf tools kubectl get secret private-registry -n zarf -o yaml | sed 's/namespace: zarf/namespace: longhorn-system/' | ./zarf tools kubectl apply -f - - ./longhornctl check preflight || true - name: longhorn required: true description: Deploy Longhorn into a Kubernetes cluster. https://longhorn.io From 3e7f9f262b2afba59b69f3646086d2603d4d6ecf Mon Sep 17 00:00:00 2001 From: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> Date: Fri, 29 May 2026 20:01:09 -0500 Subject: [PATCH 4/4] chore(examples/longhorn): maintain full values.yaml copy with v1.11.2 overrides Signed-off-by: Antonette Caldwell <18711313+acald-creator@users.noreply.github.com> --- examples/longhorn/values.yaml | 336 +++++++++++++++++++++++++++++++++- 1 file changed, 331 insertions(+), 5 deletions(-) diff --git a/examples/longhorn/values.yaml b/examples/longhorn/values.yaml index f21b530b98..69d52636fe 100644 --- a/examples/longhorn/values.yaml +++ b/examples/longhorn/values.yaml @@ -1,10 +1,336 @@ -# Keep this file minimal so we inherit Longhorn chart defaults. -# K3s uses a non-standard kubelet root path. +# Default values for longhorn. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +global: + imageRegistry: "127.0.0.1:31999" + cattle: + systemDefaultRegistry: "" + windowsCluster: + # Enable this to allow Longhorn to run on the Rancher deployed Windows cluster + enabled: false + # Tolerate Linux node taint + tolerations: + - key: "cattle.io/os" + value: "linux" + effect: "NoSchedule" + operator: "Equal" + # Select Linux nodes + nodeSelector: + kubernetes.io/os: "linux" + # Recognize toleration and node selector for Longhorn run-time created components + defaultSetting: + taintToleration: cattle.io/os=linux:NoSchedule + systemManagedComponentsNodeSelector: kubernetes.io/os:linux + +image: + longhorn: + engine: + repository: longhornio/longhorn-engine + tag: v1.11.2 + manager: + repository: longhornio/longhorn-manager + tag: v1.11.2 + ui: + repository: longhornio/longhorn-ui + tag: v1.11.2 + instanceManager: + repository: longhornio/longhorn-instance-manager + tag: v1.11.2 + shareManager: + repository: longhornio/longhorn-share-manager + tag: v1.11.2 + backingImageManager: + repository: longhornio/backing-image-manager + tag: v1.11.2 + supportBundleKit: + repository: longhornio/support-bundle-kit + tag: v0.0.84 + csi: + attacher: + repository: longhornio/csi-attacher + tag: v4.11.0-20260428 + provisioner: + repository: longhornio/csi-provisioner + tag: v5.3.0-20260428 + nodeDriverRegistrar: + repository: longhornio/csi-node-driver-registrar + tag: v2.16.0-20260428 + resizer: + repository: longhornio/csi-resizer + tag: v2.1.0-20260428 + snapshotter: + repository: longhornio/csi-snapshotter + tag: v8.5.0-20260428 + livenessProbe: + repository: longhornio/livenessprobe + tag: v2.18.0-20260428 + pullPolicy: IfNotPresent + +service: + ui: + type: ClusterIP + nodePort: null + manager: + type: ClusterIP + nodePort: "" + loadBalancerIP: "" + loadBalancerSourceRanges: "" + +persistence: + defaultClass: true + defaultFsType: ext4 + defaultMkfsParams: "" + defaultClassReplicaCount: 3 + defaultDataLocality: disabled # best-effort otherwise + reclaimPolicy: Delete + migratable: false + recurringJobSelector: + enable: false + jobList: [] + backingImage: + enable: false + name: ~ + dataSourceType: ~ + dataSourceParameters: ~ + expectedChecksum: ~ + defaultNodeSelector: + enable: false # disable by default + selector: [] + removeSnapshotsDuringFilesystemTrim: ignored # "enabled" or "disabled" otherwise + csi: kubeletRootDir: "/var/lib/rancher/k3s/agent/kubelet" + attacherReplicaCount: ~ + provisionerReplicaCount: ~ + resizerReplicaCount: ~ + snapshotterReplicaCount: ~ + +defaultSettings: + backupTarget: ~ + backupTargetCredentialSecret: ~ + allowRecurringJobWhileVolumeDetached: ~ + createDefaultDiskLabeledNodes: ~ + defaultDataPath: ~ + defaultDataLocality: ~ + replicaSoftAntiAffinity: ~ + replicaAutoBalance: ~ + storageOverProvisioningPercentage: ~ + storageMinimalAvailablePercentage: ~ + upgradeChecker: ~ + defaultReplicaCount: ~ + defaultLonghornStaticStorageClass: ~ + backupstorePollInterval: ~ + failedBackupTTL: ~ + restoreVolumeRecurringJobs: ~ + recurringSuccessfulJobsHistoryLimit: ~ + recurringFailedJobsHistoryLimit: ~ + supportBundleFailedHistoryLimit: ~ + taintToleration: ~ + systemManagedComponentsNodeSelector: ~ + priorityClass: ~ + autoSalvage: ~ + autoDeletePodWhenVolumeDetachedUnexpectedly: ~ + disableSchedulingOnCordonedNode: ~ + replicaZoneSoftAntiAffinity: ~ + nodeDownPodDeletionPolicy: ~ + allowNodeDrainWithLastHealthyReplica: ~ + mkfsExt4Parameters: ~ + disableReplicaRebuild: ~ + replicaReplenishmentWaitInterval: ~ + concurrentReplicaRebuildPerNodeLimit: ~ + concurrentVolumeBackupRestorePerNodeLimit: ~ + disableRevisionCounter: ~ + systemManagedPodsImagePullPolicy: ~ + allowVolumeCreationWithDegradedAvailability: ~ + autoCleanupSystemGeneratedSnapshot: ~ + concurrentAutomaticEngineUpgradePerNodeLimit: ~ + backingImageCleanupWaitInterval: ~ + backingImageRecoveryWaitInterval: ~ + guaranteedEngineManagerCPU: ~ + guaranteedReplicaManagerCPU: ~ + kubernetesClusterAutoscalerEnabled: ~ + orphanAutoDeletion: ~ + storageNetwork: ~ + deletingConfirmationFlag: ~ + engineReplicaTimeout: ~ + snapshotDataIntegrity: ~ + snapshotDataIntegrityImmediateCheckAfterSnapshotCreation: ~ + snapshotDataIntegrityCronjob: ~ + removeSnapshotsDuringFilesystemTrim: ~ + fastReplicaRebuildEnabled: ~ + replicaFileSyncHttpClientTimeout: ~ +privateRegistry: + createSecret: ~ + registryUrl: ~ + registryUser: ~ + registryPasswd: ~ + registrySecret: ~ + +longhornManager: + log: + ## Allowed values are `plain` or `json`. + format: plain + priorityClass: ~ + tolerations: [] + ## If you want to set tolerations for Longhorn Manager DaemonSet, delete the `[]` in the line above + ## and uncomment this example block + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + nodeSelector: {} + ## If you want to set node selector for Longhorn Manager DaemonSet, delete the `{}` in the line above + ## and uncomment this example block + # label-key1: "label-value1" + # label-key2: "label-value2" + serviceAnnotations: {} + ## If you want to set annotations for the Longhorn Manager service, delete the `{}` in the line above + ## and uncomment this example block + # annotation-key1: "annotation-value1" + # annotation-key2: "annotation-value2" + +longhornDriver: + priorityClass: ~ + tolerations: [] + ## If you want to set tolerations for Longhorn Driver Deployer Deployment, delete the `[]` in the line above + ## and uncomment this example block + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + nodeSelector: {} + ## If you want to set node selector for Longhorn Driver Deployer Deployment, delete the `{}` in the line above + ## and uncomment this example block + # label-key1: "label-value1" + # label-key2: "label-value2" + +longhornUI: + replicas: 2 + priorityClass: ~ + tolerations: [] + ## If you want to set tolerations for Longhorn UI Deployment, delete the `[]` in the line above + ## and uncomment this example block + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + nodeSelector: {} + ## If you want to set node selector for Longhorn UI Deployment, delete the `{}` in the line above + ## and uncomment this example block + # label-key1: "label-value1" + # label-key2: "label-value2" + +longhornConversionWebhook: + replicas: 2 + priorityClass: ~ + tolerations: [] + ## If you want to set tolerations for Longhorn conversion webhook Deployment, delete the `[]` in the line above + ## and uncomment this example block + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + nodeSelector: {} + ## If you want to set node selector for Longhorn conversion webhook Deployment, delete the `{}` in the line above + ## and uncomment this example block + # label-key1: "label-value1" + # label-key2: "label-value2" + +longhornAdmissionWebhook: + replicas: 2 + priorityClass: ~ + tolerations: [] + ## If you want to set tolerations for Longhorn admission webhook Deployment, delete the `[]` in the line above + ## and uncomment this example block + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + nodeSelector: {} + ## If you want to set node selector for Longhorn admission webhook Deployment, delete the `{}` in the line above + ## and uncomment this example block + # label-key1: "label-value1" + # label-key2: "label-value2" + +longhornRecoveryBackend: + replicas: 2 + priorityClass: ~ + tolerations: [] + ## If you want to set tolerations for Longhorn recovery backend Deployment, delete the `[]` in the line above + ## and uncomment this example block + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + nodeSelector: {} + ## If you want to set node selector for Longhorn recovery backend Deployment, delete the `{}` in the line above + ## and uncomment this example block + # label-key1: "label-value1" + # label-key2: "label-value2" + +ingress: + ## Set to true to enable ingress record generation + enabled: false + + ## Add ingressClassName to the Ingress + ## Can replace the kubernetes.io/ingress.class annotation on v1.18+ + ingressClassName: ~ + + host: sslip.io + + ## Set this to true in order to enable TLS on the ingress record + tls: false + + ## Enable this in order to enable that the backend service will be connected at port 443 + secureBackends: false + + ## If TLS is set to true, you must declare what secret will store the key/certificate for TLS + tlsSecret: longhorn.local-tls + + ## If ingress is enabled you can set the default ingress path + ## then you can access the UI by using the following full path {{host}}+{{path}} + path: / + + ## Ingress annotations done as key:value pairs + ## If you're using kube-lego, you will want to add: + ## kubernetes.io/tls-acme: true + ## + ## For a full list of possible ingress annotations, please see + ## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/annotations.md + ## + ## If tls is set to true, annotation ingress.kubernetes.io/secure-backends: "true" will automatically be set + annotations: + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: true + + secrets: + ## If you're providing your own certificates, please use this to add the certificates as secrets + ## key and certificate should start with -----BEGIN CERTIFICATE----- or + ## -----BEGIN RSA PRIVATE KEY----- + ## + ## name should line up with a tlsSecret set further up + ## If you're using kube-lego, this is unneeded, as it will create the secret for you if it is not set + ## + ## It is also possible to create and manage the certificates outside of this helm chart + ## Please see README.md for more information + # - name: longhorn.local-tls + # key: + # certificate: + +# For Kubernetes < v1.25, if your cluster enables Pod Security Policy admission controller, +# set this to `true` to ship longhorn-psp which allow privileged Longhorn pods to start +enablePSP: false + +## Specify override namespace, specifically this is useful for using longhorn as sub-chart +## and its release namespace is not the `longhorn-system` +namespaceOverride: "" + +# Annotations to add to the Longhorn Manager DaemonSet Pods. Optional. +annotations: {} + +serviceAccount: + # Annotations to add to the service account + annotations: {} preUpgradeChecker: upgradeVersionCheck: false - -global: - imageRegistry: "127.0.0.1:31999"