62 lines
2.4 KiB
Smarty
62 lines
2.4 KiB
Smarty
{{- define "cluster.bootstrap" -}}
|
|
bootstrap:
|
|
{{- if eq .Values.mode "standalone" }}
|
|
initdb:
|
|
{{- with .Values.cluster.initdb }}
|
|
{{- with (omit . "postInitApplicationSQL") }}
|
|
{{- . | toYaml | nindent 4 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
postInitApplicationSQL:
|
|
{{- if eq .Values.type "postgis" }}
|
|
- CREATE EXTENSION IF NOT EXISTS postgis;
|
|
- CREATE EXTENSION IF NOT EXISTS postgis_topology;
|
|
- CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;
|
|
- CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder;
|
|
{{- else if eq .Values.type "timescaledb" }}
|
|
- CREATE EXTENSION IF NOT EXISTS timescaledb;
|
|
{{- end }}
|
|
{{- with .Values.cluster.initdb }}
|
|
{{- range .postInitApplicationSQL }}
|
|
{{- printf "- %s" . | nindent 6 }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- else if eq .Values.mode "recovery" }}
|
|
recovery:
|
|
{{- with .Values.recovery.pitrTarget.time }}
|
|
recoveryTarget:
|
|
targetTime: {{ . }}
|
|
{{- end }}
|
|
source: "postgresql-{{ .Release.Name }}-cluster-backup-index-{{ .Values.recovery.recoveryIndex }}"
|
|
externalClusters:
|
|
- name: "postgresql-{{ .Release.Name }}-cluster-backup-index-{{ .Values.recovery.recoveryIndex }}"
|
|
barmanObjectStore:
|
|
serverName: "postgresql-{{ .Release.Name }}-cluster-backup-index-{{ .Values.recovery.recoveryIndex }}"
|
|
destinationPath: "s3://{{ .Values.recovery.endpointBucket }}/{{ .Values.kubernetesClusterName }}/postgresql/{{ .Release.Name }}"
|
|
endpointURL: {{ .Values.recovery.endpointURL }}
|
|
{{- with .Values.recovery.endpointCA }}
|
|
endpointCA:
|
|
name: {{ . }}
|
|
key: ca-bundle.crt
|
|
{{- end }}
|
|
serverName: "postgresql-{{ .Release.Name }}-cluster-backup-index-{{ .Values.recovery.recoveryIndex }}"
|
|
s3Credentials:
|
|
accessKeyId:
|
|
name: {{ include "cluster.recovery.credentials" . }}
|
|
key: ACCESS_KEY_ID
|
|
secretAccessKey:
|
|
name: {{ include "cluster.recovery.credentials" . }}
|
|
key: ACCESS_SECRET_KEY
|
|
wal:
|
|
compression: {{ .Values.recovery.wal.compression }}
|
|
encryption: {{ .Values.recovery.wal.encryption }}
|
|
maxParallel: {{ .Values.recovery.wal.maxParallel }}
|
|
data:
|
|
compression: {{ .Values.recovery.data.compression }}
|
|
encryption: {{ .Values.recovery.data.encryption }}
|
|
jobs: {{ .Values.recovery.data.jobs }}
|
|
{{- else }}
|
|
{{ fail "Invalid cluster mode!" }}
|
|
{{- end }}
|
|
{{- end }}
|