- 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)
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
# Longhorn Helm Values — Single Source of Truth
|
|
# Used by both bootstrap.sh (Helm install) and ArgoCD (adoption)
|
|
# Chart: https://github.com/longhorn/charts
|
|
#
|
|
# NOTE: Namespace requires PodSecurity=privileged labels (Longhorn needs host access).
|
|
# bootstrap.sh applies namespace.yaml automatically. For manual install:
|
|
# kubectl apply -f k8s/bootstrap/phase1-storage/namespace.yaml
|
|
|
|
defaultSettings:
|
|
# 3-node HA configuration
|
|
replicaReplenishmentWaitInterval: 600 # 10min before auto-repair
|
|
replicaSoftAntiAffinity: false # REQUIRED for true HA
|
|
replicaAutoBalance: best-effort
|
|
storageMinimalAvailablePercentage: 10
|
|
|
|
# Performance tuning
|
|
defaultDataPath: /var/lib/longhorn
|
|
defaultDataLocality: best-effort
|
|
backupTarget: "" # TODO: Add MinIO backup target later
|
|
|
|
# Monitoring
|
|
guaranteedEngineManagerCPU: 12 # mCPU
|
|
guaranteedReplicaManagerCPU: 12
|
|
|
|
persistence:
|
|
defaultClass: true # Make 'longhorn' the default StorageClass
|
|
defaultClassReplicaCount: 3
|
|
defaultFsType: ext4
|
|
reclaimPolicy: Delete
|
|
|
|
# CSI plugin must tolerate control-plane taints
|
|
csi:
|
|
iscsiadmPath: /usr/sbin/iscsiadm
|
|
kubeletRootDir: /var/lib/kubelet
|
|
attacherReplicaCount: 3
|
|
provisionerReplicaCount: 3
|
|
resizerReplicaCount: 3
|
|
snapshotterReplicaCount: 3
|
|
|
|
# Longhorn manager on all nodes
|
|
longhornManager:
|
|
tolerations:
|
|
- key: node-role.kubernetes.io/control-plane
|
|
operator: Exists
|
|
effect: NoSchedule
|
|
|
|
# Driver deployer tolerations
|
|
longhornDriver:
|
|
tolerations:
|
|
- key: node-role.kubernetes.io/control-plane
|
|
operator: Exists
|
|
effect: NoSchedule
|
|
|
|
# UI for debugging
|
|
longhornUI:
|
|
replicas: 1
|
|
|
|
# Monitoring (Prometheus ServiceMonitor)
|
|
# Disabled during bootstrap (Prometheus CRDs not installed yet)
|
|
# Re-enable via ArgoCD after Prometheus stack is deployed
|
|
metrics:
|
|
serviceMonitor:
|
|
enabled: false
|