# StorageClasses — Applied after Longhorn installation # The default 'longhorn' SC is created by Helm chart # These are additional specialized classes --- # CNPG-specific StorageClass for PostgreSQL volumes # CNPG handles filesystem ownership via securityContext.fsGroup (UID/GID 26) # Separate from default 'longhorn' to allow CNPG-specific tuning apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: longhorn-cnpg annotations: storageclass.kubernetes.io/is-default-class: "false" argocd.argoproj.io/sync-options: Prune=false # Allow ArgoCD adoption provisioner: driver.longhorn.io allowVolumeExpansion: true parameters: numberOfReplicas: "3" staleReplicaTimeout: "30" fromBackup: "" dataLocality: "best-effort" fsType: "ext4" # mountOptions removed - uid/gid are NOT valid for ext4 (only for FAT/VFAT) # CNPG handles ownership via securityContext.fsGroup automatically reclaimPolicy: Delete volumeBindingMode: Immediate