2025-08-24 00:09:37 +03:00

44 lines
1.5 KiB
Smarty

{{- define "tc.v1.common.lib.cnpg.cluster.backup" -}}
{{- $rootCtx := .rootCtx -}}
{{- $objectData := .objectData -}}
{{- $compression := "bzip2" -}}
{{- if and $objectData.backups.compression (not $objectData.backups.compression.enabled) -}}
{{- $compression = "" -}}
{{- end -}}
{{- $encryption := "" -}}
{{- if and $objectData.backups.encryption $objectData.backups.encryption.enabled -}}
{{- $encryption = "AES256" -}}
{{- end }}
backup:
{{- with $objectData.backups.target }}
target: {{ . }}
{{- end }}
retentionPolicy: {{ $objectData.backups.retentionPolicy }}
barmanObjectStore:
data:
jobs: {{ $objectData.backups.jobs | default 2 }}
{{- with $compression }}
compression: {{ . }}
{{- end -}}
{{- with $encryption }}
encryption: {{ . }}
{{- end -}}
{{- if or $compression $encryption }}
wal:
{{- with $compression }}
compression: {{ . }}
{{- end -}}
{{- with $encryption }}
encryption: {{ . }}
{{- end -}}
{{- end -}}
{{/* Fetch provider data */}}
{{/* Get the creds defined in backup.$provider */}}
{{- $creds := (get $rootCtx.Values.credentials $objectData.backups.credentials) -}}
{{- include "tc.v1.common.lib.credentials.validation" (dict "rootCtx" $rootCtx "caller" "CNPG Backup" "credName" $objectData.backups.credentials) -}}
{{- include (printf "tc.v1.common.lib.cnpg.cluster.barmanObjectStoreConfig.%s" $creds.type) (dict "rootCtx" $rootCtx "objectData" $objectData "data" $creds "type" "backup") | nindent 4 -}}
{{- end -}}