feat:Fix the bootstrap to be deploy key application

This commit is contained in:
Story Crater Bot
2026-08-18 15:08:03 -07:00
parent eac3a2a227
commit 54fa540b33
37 changed files with 1216 additions and 1202 deletions
@@ -0,0 +1,56 @@
# Longhorn Helm Values — Single Source of Truth
# Used by both bootstrap.sh (Helm install) and ArgoCD (adoption)
# Chart: https://github.com/longhorn/charts
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:
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)
metrics:
serviceMonitor:
enabled: true
@@ -0,0 +1,27 @@
# StorageClasses — Applied after Longhorn installation
# The default 'longhorn' SC is created by Helm chart
# These are additional specialized classes
---
# CNPG-specific StorageClass with postgres UID/GID mount options
# Fixes "read-only filesystem" error when PostgreSQL (UID 26) tries to write
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:
- "noatime"
- "uid=26" # postgres user
- "gid=26" # postgres group
reclaimPolicy: Delete
volumeBindingMode: Immediate