File tree Expand file tree Collapse file tree 4 files changed +74
-14
lines changed Expand file tree Collapse file tree 4 files changed +74
-14
lines changed Original file line number Diff line number Diff line change 11{ {/* Allow for S3 secret information to be stored in a Secret */} }
22{ {- define " postgres.s3" } }
33[global]
4- { {- if .Values. s3 } }
5- { {- if .Values .s3.key } }
6- repo1 -s3-key={ { .Values .s3.key } }
7- { {- end } }
8- { {- if .Values .s3.keySecret } }
9- repo1 -s3-key-secret={ { .Values .s3.keySecret } }
10- { {- end } }
11- { {- if .Values .s3.encryptionPassphrase } }
12- repo1 -cipher-pass={ { .Values .s3.encryptionPassphrase } }
13- { {- end } }
4+ { {- if .s3 } }
5+ { {- if .s3.key } }
6+ repo { { add .index 1 } } -s3-key={ { .s3.key } }
7+ { {- end } }
8+ { {- if .s3.keySecret } }
9+ repo { { add .index 1 } } -s3-key-secret={ { .s3.keySecret } }
10+ { {- end } }
11+ { {- if .s3.encryptionPassphrase } }
12+ repo { { add .index 1 } } -cipher-pass={ { .s3.encryptionPassphrase } }
13+ { {- end } }
1414{ {- end } }
1515{ { end } }
Original file line number Diff line number Diff line change 1- {{- if .Values.s3 }}
1+ {{- if or .Values.multiBackupRepos .Values.s3 }}
22apiVersion : v1
33kind : Secret
44metadata :
55 name : {{ default .Release.Name .Values.name }}-pgbackrest-secret
66type : Opaque
77data :
8+ {{- if .Values.multiBackupRepos }}
9+ {{- range $index, $repo := .Values.multiBackupRepos }}
10+ {{- if $repo.s3 }}
11+ {{- $args := dict "s3" $repo.s3 "index" $index }}
812 s3.conf : |-
9- {{ include "postgres.s3" . | b64enc }}
13+ {{ include "postgres.s3" $args | b64enc }}
14+ {{- end }}
15+ {{- end }}
16+ {{- else if .Values.s3 }}
17+ {{- $args := dict "s3" .Values.s3 "index" 0 }}
18+ s3.conf : |-
19+ {{ include "postgres.s3" $args | b64enc }}
20+ {{- end }}
1021{{- end }}
Original file line number Diff line number Diff line change 4040{{- end }}
4141{{- if .Values.pgBackRestConfig }}
4242{{ toYaml .Values.pgBackRestConfig | indent 6 }}
43+ {{- else if .Values.multiBackupRepos }}
44+ configuration :
45+ - secret :
46+ name : {{ default .Release.Name .Values.name }}-pgbackrest-secret
47+ global :
48+ {{- range $index, $repo := .Values.multiBackupRepos }}
49+ {{- if $repo.s3 }}
50+ repo{{ add $index 1 }}-path : /pgbackrest/{{ $.Release.Namespace }}/{{ default $.Release.Name $.Values.name }}/repo{{ add $index 1 }}
51+ {{- end }}
52+ {{- end }}
53+ repos :
54+ {{- range $index, $repo := .Values.multiBackupRepos }}
55+ - name : repo{{ add $index 1 }}
56+ {{- if $repo.volume }}
57+ volume :
58+ volumeClaimSpec :
59+ accessModes :
60+ - " ReadWriteOnce"
61+ resources :
62+ requests :
63+ storage : {{ default "1Gi" $repo.volume.backupsSize | quote }}
64+ {{- else if $repo.s3 }}
65+ s3 :
66+ bucket : {{ $repo.s3.bucket | quote }}
67+ endpoint : {{ $repo.s3.endpoint | quote }}
68+ region : {{ $repo.s3.region | quote }}
69+ {{- end }}
70+ {{- end }}
4371{{- else if .Values.s3 }}
4472 configuration :
4573 - secret :
Original file line number Diff line number Diff line change 165165# Backups / pgBackRest Settings #
166166# ################################
167167
168- # backupsSize sets the storage size of the backups to a PVC. This can be
169- # overridden by "pgBackRestConfig", if set. Defaults to the value velow.
168+ # backupsSize sets the storage size of the backups to a volume in Kubernetes.
169+ # can be overridden by "pgBackRestConfig", if set. Defaults to the value velow.
170170# backupsSize: 1Gi
171171
172172# s3 allows for AWS S3 or an S3 compatible storage system to be used for
189189# # built-in encrpytion system.
190190# encryptionPassphrase: ""
191191
192+ # multiBackupRepos allows for backing up to multiple repositories. This is
193+ # effectively uses the "quickstarts" for each of the backup types (volume, s3,
194+ # gcs, azure). You can have any permutation of these types. You can set up to 4.
195+ # can be overwritten by "pgBackRestConfig".
196+ #
197+ # You can't set "multiBackupRepos" and any of the individual quickstarts at the
198+ # same time. "multiBackupRepos" will take precedence.
199+ #
200+ # Below is an example that enables one of each backup type. Note all of the
201+ # available quickstart options are presented below; please see the backup types
202+ # if you want to see how each option works.
203+ # multiBackupRepos:
204+ # - volume:
205+ # backupsSize: 1Gi
206+ # - s3:
207+ # bucket: ""
208+ # endpoint: ""
209+ # region: ""
210+ # key: ""
211+ # keySecret: ""
212+
192213# pgBackRestConfig allows for the configuration of every pgBackRest option
193214# except for "image", which is set by "pgBackRest".
194215# pgBackRestConfig: {}
You can’t perform that action at this time.
0 commit comments