Commit 4996a02f authored by Jonathan S. Katz's avatar Jonathan S. Katz Committed by Jonathan S. Katz
Browse files

Create Helm template for quickstart with S3

This makes it easier to get set up with using S3 via the Postgres
Helm chart.

closes #20
parent fbe33a49
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
{{/* Allow for S3 secret information to be stored in a Secret */}}
{{- define "postgres.s3" }}
[global]
{{- if .Values.s3 }}
{{- if .Values.s3.key }}
repo1-s3-key={{ .Values.s3.key }}
{{- end }}
{{- if .Values.s3.keySecret }}
repo1-s3-key-secret={{ .Values.s3.keySecret }}
{{- end }}
{{- if .Values.s3.encryptionPassphrase }}
repo1-cipher-pass={{ .Values.s3.encryptionPassphrase }}
{{- end }}
{{- end }}
{{ end }}
+10 −0
Original line number Diff line number Diff line
{{- if .Values.s3 }}
apiVersion: v1
kind: Secret
metadata:
  name: {{ default .Release.Name .Values.name }}-pgbackrest-secret
type: Opaque
data:
  s3.conf: |-
        {{ include "postgres.s3" . | b64enc }}
{{- end }}
+15 −0
Original line number Diff line number Diff line
@@ -40,6 +40,21 @@ spec:
{{- end }}
{{- if .Values.pgBackRestConfig }}
{{ toYaml .Values.pgBackRestConfig | indent 6 }}
{{- else if .Values.s3 }}
      configuration:
      - secret:
          name: {{ default .Release.Name .Values.name }}-pgbackrest-secret
      global:
        repo1-path: /pgbackrest/{{ .Release.Namespace }}/{{ default .Release.Name .Values.name }}/repo1
{{- if .Values.s3.encryptionPassphrase }}
        repo1-cipher-type: aes-256-cbc
{{- end }}
      repos:
      - name: repo1
        s3:
          bucket: {{ .Values.s3.bucket | quote }}
          endpoint: {{ .Values.s3.endpoint | quote }}
          region: {{ .Values.s3.region | quote }}
{{- else }}
      repos:
      - name: repo1
+20 −0
Original line number Diff line number Diff line
@@ -169,6 +169,26 @@
# overridden by "pgBackRestConfig", if set. Defaults to the value velow.
# backupsSize: 1Gi

# s3 allows for AWS S3 or an S3 compatible storage system to be used for
# backups. This allows for a quick setup with S3; if you need more advanced
# setup, use pgBackRestConfig.
# s3:
#   # bucket specifies the S3 bucket to use,
#   bucket: ""
#   # endpoint specifies the S3 endpoint to use.
#   endpoint: ""
#   # region specifies the S3 region to use. If your S3 storage system does not
#   # use "region", fill this in with a random vaule.
#   region: ""
#   # key is the S3 key. This is stored in a Secret.
#   key: ""
#   # keySecret is the S3 key secret. This is tored in a Secret.
#   keySecret: ""
#   # encryptionPassphrase is an optional parameter to enable encrypted backups
#   # with pgBackRest. This is encrypted by pgBackRest and does not use S3's
#   # built-in encrpytion system.
#   encryptionPassphrase: ""

# pgBackRestConfig allows for the configuration of every pgBackRest option
# except for "image", which is set by "pgBackRest".
# pgBackRestConfig: {}