2026-08-22 18:25:38 +01:00
|
|
|
# Values for the upstream Longhorn chart, nested under `longhorn:` (the
|
|
|
|
|
# dependency's name in Chart.yaml).
|
|
|
|
|
longhorn:
|
|
|
|
|
defaultSettings:
|
|
|
|
|
# Must match the mount path from the UserVolumeConfig in
|
|
|
|
|
# talos/patch-longhorn.yaml (/var/mnt/<name>) — this is what points
|
|
|
|
|
# Longhorn at the dedicated data disk instead of its own default path
|
|
|
|
|
# on the root filesystem, which on Talos is ephemeral/unsuited for
|
|
|
|
|
# real data anyway.
|
|
|
|
|
defaultDataPath: /var/mnt/longhorn
|
2026-09-03 01:54:37 +01:00
|
|
|
# Only nodes explicitly labelled `node.longhorn.io/create-default-disk=true`
|
|
|
|
|
# become storage nodes. This keeps Longhorn from trying to create a disk on
|
|
|
|
|
# the Raspberry Pi control planes, which deliberately have no data disk.
|
|
|
|
|
createDefaultDiskLabeledNodes: true
|
|
|
|
|
# There are two independent storage workers, one on Gimli and one on
|
|
|
|
|
# Titus. Three replicas could never schedule; two keeps one complete copy
|
2026-09-03 03:33:14 +01:00
|
|
|
# on each host and remains readable if either worker fails. This setting
|
|
|
|
|
# only affects volumes created through Longhorn's own UI—Kubernetes PVCs
|
|
|
|
|
# actually read numberOfReplicas from the StorageClass below instead, so
|
|
|
|
|
# both must be kept in sync.
|
2026-09-03 01:54:37 +01:00
|
|
|
defaultReplicaCount: 2
|
2026-09-03 03:33:14 +01:00
|
|
|
# The default StorageClass Longhorn's chart creates reads numberOfReplicas
|
|
|
|
|
# from here, not from defaultSettings above. Every PVC that doesn't name a
|
|
|
|
|
# storageClassName goes through this class, so this is the value that
|
|
|
|
|
# actually governs replica count for real workloads.
|
|
|
|
|
persistence:
|
|
|
|
|
defaultClassReplicaCount: 2
|
2026-08-22 18:25:38 +01:00
|
|
|
# Longhorn's own headroom settings, kept conservative: stop scheduling
|
|
|
|
|
# new replicas onto a disk once free space drops below these
|
|
|
|
|
# thresholds, so the cluster degrades gracefully instead of actually
|
|
|
|
|
# filling a disk.
|
|
|
|
|
storageMinimalAvailablePercentage: 25
|
|
|
|
|
storageReservedPercentageForDefaultDisk: 30
|
|
|
|
|
preUpgradeChecker:
|
|
|
|
|
# Longhorn's own pre-upgrade check runs as a Job that expects to reach
|
|
|
|
|
# an upgrade-responder service on the internet by default. Harmless to
|
|
|
|
|
# leave on, but pointless for a learning cluster and one less thing to
|
|
|
|
|
# explain — off by default here.
|
|
|
|
|
jobEnabled: false
|