نسخ من khaledmahfouz5/Maqtaa
Adds StatefulSet support (#549)
* Adds StatefulSet support # Conflicts: # helm/opengist/templates/pvc.yaml * Adds statefulset support for replicaCount gt 1 * Improves the setup of multiple replicas in a stateful set * Adds config wrangling logic to the secret template * Adds shared PV functionality * Adds missing pvc-shared template * Adds stateful set and documentation --------- Co-authored-by: Guillem Riera <guillem@rieragalm.es>
هذا الالتزام موجود في:
ملتزم من قبل
GitHub
الأصل
03420e4f91
التزام
4ae25144a0
48
helm/opengist/templates/pvc-shared.yaml
Normal file
48
helm/opengist/templates/pvc-shared.yaml
Normal file
@@ -0,0 +1,48 @@
|
||||
{{- /*
|
||||
This template creates a standalone PersistentVolumeClaim for shared persistence mode.
|
||||
|
||||
Rendering conditions:
|
||||
- statefulSet.enabled=true
|
||||
- persistence.enabled=true
|
||||
- persistence.mode=shared
|
||||
- persistence.existingClaim is empty/unset
|
||||
- persistence.create.enabled=true
|
||||
|
||||
When rendered, this PVC is mounted by ALL replicas in the StatefulSet (typically with ReadWriteMany
|
||||
access mode for multi-replica deployments). This avoids per-replica volumeClaimTemplates and enables
|
||||
horizontal scaling with a single shared storage backend.
|
||||
|
||||
If persistence.existingClaim is set, this template does NOT render; the StatefulSet instead references
|
||||
the existing claim name directly.
|
||||
*/}}
|
||||
{{- if and .Values.statefulSet.enabled .Values.persistence.enabled (eq (default "perReplica" .Values.persistence.mode) "shared") (ne (default "" .Values.persistence.existingClaim) "") | not }}{{- end }}
|
||||
{{- if and .Values.statefulSet.enabled .Values.persistence.enabled (eq (default "perReplica" .Values.persistence.mode) "shared") (eq (default "" .Values.persistence.existingClaim) "") .Values.persistence.create.enabled }}
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: {{ include "opengist.fullname" . }}-{{ default "shared" .Values.persistence.create.nameSuffix }}
|
||||
labels:
|
||||
{{- include "opengist.labels" . | nindent 4 }}
|
||||
{{- with .Values.persistence.create.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.persistence.create.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
accessModes:
|
||||
{{- if .Values.persistence.create.accessModes }}
|
||||
{{- toYaml .Values.persistence.create.accessModes | nindent 4 }}
|
||||
{{- else }}
|
||||
- ReadWriteMany
|
||||
{{- end }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ default .Values.persistence.size .Values.persistence.create.size }}
|
||||
volumeMode: Filesystem
|
||||
{{- $sc := default .Values.persistence.storageClass .Values.persistence.create.storageClass }}
|
||||
{{- if $sc }}
|
||||
storageClassName: {{ $sc | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
المرجع في مشكلة جديدة
حظر مستخدم