# Longhorn Helm values — REFERENCE ONLY (not consumed by kustomization.yaml). # # The authoritative values are inline in helmrelease.yaml (matching the sibling pattern across # platform/ — cilium, cert-manager, velero, etc.). This file documents the knobs that matter so a # reviewer can see intent without reading the HelmRelease. Keep it in sync with helmrelease.yaml. # # persistence: # defaultClass: false # we own StorageClasses (storageclasses.yaml) # # defaultSettings: # defaultDataPath: ${LONGHORN_DATA_PATH} # cluster-vars knob: dev /var/lib/longhorn # # (dedicated /dev/vdb), prod /data/longhorn # # (a subdirectory of the shared data partition) # defaultReplicaCount: ${LONGHORN_DEFAULT_REPLICA_COUNT} # overlay knob (=3 in dev) # replicaSoftAntiAffinity: false # HARD anti-affinity: one replica per node # replicaZoneSoftAntiAffinity: true # single zone (3 mini-PCs, no failure zones) # replicaAutoBalance: best-effort # rebalance toward one-per-node when a node returns # concurrentReplicaRebuildPerNodeLimit: 1 # throttle rebuild I/O so it can't starve etcd WAL fsync (HDD-backed) # storageReservedPercentageForDefaultDisk: "20" # reserve disk headroom (docs/04 guardrail) # storageMinimalAvailablePercentage: "25" # stop scheduling below 25% free # storageOverProvisioningPercentage: "100" # dev: no thin over-provisioning (1:1) # defaultDataLocality: disabled # keep replicas spread for durability # orphanAutoDeletion: true # reclaim orphaned replica space promptly # backupTarget: # TODO(WS-STORAGE, Phase 4): DR target (ADR-0003) # # metrics: # serviceMonitor: # enabled: true # scrape longhorn-manager (port `manager`, 9500); # # without it the whole longhorn_* family is absent # # from the TSDB and the four Longhorn alert rules # # in platform/monitoring/alerts.yaml are INERT