- Fix ArgoCD Application schema: move syncOptions under syncPolicy (00-secrets.yaml) - Remove helm install --wait flag (talos-cp-2 slow node timeout issue) - Add comprehensive progress logging with timestamps to bootstrap.sh - Fix SOPS key path (/Users/rockliang/.sops/key.txt, not homelab-age.key) - Add local SOPS decryption for bootstrap secrets - Add CNPG NetworkPolicy allowing app→database connectivity - Disable Forgejo bundled dependencies (saves 66Gi storage) - Inject database credentials via deployment.env (GITEA__DATABASE__*) - Remove invalid ext4 mount options from StorageClass - Add namespace manifests with PodSecurity labels - Add encrypted forgejo-admin secret (SOPS) - Reduce forgejo-db size 50Gi→25Gi per instance - Prepare ArgoCD SOPS CMP plugin (for post-bootstrap)
27 lines
959 B
YAML
27 lines
959 B
YAML
# 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
|