{{ if and (.Values.backup.enabled) (eq .Values.backup.method "objectStore") }} {{ $context := . -}} {{ range .Values.backup.objectStore -}} --- apiVersion: barmancloud.cnpg.io/v1 kind: ObjectStore metadata: name: "{{ include "cluster.name" $context }}-{{ .name }}-backup" namespace: {{ include "cluster.namespace" $context }} labels: {{- include "cluster.labels" $context | nindent 4 }} spec: retentionPolicy: {{ .retentionPolicy | default "30d" }} configuration: destinationPath: {{ .destinationPath | required "Destination path is required" }} endpointURL: {{ .endpointURL | default "https://nyc3.digitaloceanspaces.com" }} {{- if .endpointCA }} endpointCA: name: {{ .endpointCA.name }} key: {{ .endpointCA.key }} {{- end }} {{- if .wal }} wal: compression: {{ .wal.compression | default "snappy" }} {{ with .wal.encryption }} encryption: {{ . }} {{ end }} maxParallel: {{ .wal.maxParallel | default "1" }} {{- end }} {{- if .wal }} data: compression: {{ .data.compression | default "snappy" }} {{- with .data.encryption }} encryption: {{ . }} {{- end }} jobs: {{ .data.jobs | default 1 }} {{- end }} s3Credentials: accessKeyId: {{- if .endpointCredentials }} name: {{ .endpointCredentials }} {{- else }} name: {{ include "cluster.backupCredentials" $context }} {{- end }} key: ACCESS_KEY_ID secretAccessKey: {{- if .endpointCredentials }} name: {{ .endpointCredentials }} {{- else }} name: {{ include "cluster.backupCredentials" $context }} {{- end }} key: ACCESS_SECRET_KEY {{ end -}} {{ end }} {{ if eq .Values.recovery.method "objectStore" }} --- apiVersion: barmancloud.cnpg.io/v1 kind: ObjectStore metadata: name: "{{ include "cluster.name" . }}-{{ .Values.recovery.objectStore.name }}" namespace: {{ include "cluster.namespace" . }} labels: {{- include "cluster.labels" . | nindent 4 }} spec: configuration: destinationPath: {{ .Values.recovery.objectStore.destinationPath }} endpointURL: {{ .Values.recovery.objectStore.endpointURL }} {{- if .Values.recovery.objectStore.endpointCA.name }} endpointCA: name: {{ .Values.recovery.objectStore.endpointCA.name }} key: {{ .Values.recovery.objectStore.endpointCA.key }} {{- end }} wal: compression: {{ .Values.recovery.objectStore.wal.compression }} {{- with .Values.recovery.objectStore.wal.encryption}} encryption: {{ . }} {{- end }} maxParallel: {{ .Values.recovery.objectStore.wal.maxParallel }} data: compression: {{ .Values.recovery.objectStore.data.compression }} {{- with .Values.recovery.objectStore.data.encryption }} encryption: {{ . }} {{- end }} jobs: {{ .Values.recovery.objectStore.data.jobs }} s3Credentials: accessKeyId: name: {{ include "cluster.recoveryCredentials" . }} key: ACCESS_KEY_ID secretAccessKey: name: {{ include "cluster.recoveryCredentials" . }} key: ACCESS_SECRET_KEY {{ end }}