fix(storage): add longhorn-wffc SC + pin portainer/forgejo-runner to az-a — fixes PVC attach

This commit is contained in:
Story Crater Bot
2026-08-18 15:08:02 -07:00
parent cda75eeb7b
commit 384548b424
5 changed files with 51 additions and 5 deletions
@@ -1,5 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: longhorn-system
resources: []
# Longhorn deployed via Helm chart (values in parent layer)
resources:
- longhorn-wffc-storageclass.yaml
# Longhorn deployed via Helm chart (values in parent layer). The WFFC
# StorageClass above is the new default; the chart's Immediate `longhorn` SC is
# demoted (default-class annotation removed on the live object at bootstrap).
@@ -0,0 +1,29 @@
# longhorn-wffc — Longhorn StorageClass with WaitForFirstConsumer binding.
#
# The chart's default `longhorn` SC uses Immediate binding: the PV binds before
# the pod is scheduled, so on this single-storage-node topology (only talos-cp-1
# runs Longhorn) the scheduler often places the pod on cp-2/cp-3 where the volume
# can't attach ("CSINode does not contain driver driver.longhorn.io").
#
# WaitForFirstConsumer defers binding until the pod is scheduled, so the volume
# is provisioned on the node the pod lands on — and with a single Longhorn node
# that co-locates pod + volume on cp-1 automatically. This is the new default;
# the chart's `longhorn` SC is demoted (see longhorn-values default-class=false).
#
# volumeBindingMode is immutable, so this is a distinct SC (not an edit of the
# chart's). Existing volumes stay on `longhorn`; new PVCs use this.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: longhorn-wffc
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: driver.longhorn.io
allowVolumeExpansion: true
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
parameters:
numberOfReplicas: "1"
staleReplicaTimeout: "30"
fromBackup: ""
dataLocality: "best-effort"