prole/supabase/helm/prole-supabase/templates/helpers/_pvc.tpl
chrisfu 133b719479 Align CNPG bootstrap placement with Ansible policy
Prefer infra-managed manifests for bootstrap; reconcile CNPG instances based on Ready+schedulable labeled db nodes; update manifests to use node-role affinity + anti-affinity; add policy/tests and config touch-ups (incl. prole.cfg).
2026-03-18 22:06:41 -07:00

60 lines
1.7 KiB
Smarty

{{/*
Return the PVC name for a given workload.
If persistence.existingClaim is set, use it.
Otherwise generate the default name.
Usage: {{ include "supabase.pvc.name" (dict "root" $ "name" "alias") }}
*/}}
{{- define "supabase.pvc.name" -}}
{{- $root := .root -}}
{{- $name := .name -}}
{{- $persistence := index $root.Values.persistence $name -}}
{{- if $persistence.existingClaim -}}
{{- $persistence.existingClaim -}}
{{- else -}}
{{- printf "%s-%s" (include "supabase.fullname" $root) $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{/*
Create a PVC for a given workload name.
Usage: {{ include "supabase.pvc" (dict "root" $ "name" "workload" "enabled": "true") }}
*/}}
{{- define "supabase.pvc" -}}
{{- $root := .root -}}
{{- $name := .name -}}
{{- $enabled := .enabled -}}
{{- $persistence := index $root.Values.persistence $name -}}
{{- $pvcName := include "supabase.pvc.name" (dict "root" $root "name" $name) -}}
{{- if and $enabled $persistence.enabled (not $persistence.existingClaim) -}}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ $pvcName }}
labels:
{{- include "supabase.labels" $root | nindent 4 }}
prole.storage/pvc: {{ $pvcName | quote }}
{{- with $persistence.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if $persistence.storageClassName }}
storageClassName: {{ $persistence.storageClassName }}
{{- end }}
{{- if eq ($persistence.storageClassName | default "") "prole-iscsi" }}
selector:
matchLabels:
prole.storage/pvc: {{ $pvcName | quote }}
{{- end }}
accessModes:
{{- range $persistence.accessModes }}
- {{ . | quote }}
{{- end }}
resources:
requests:
storage: {{ $persistence.size | quote }}
{{- end }}
{{- end }}