feat: add basic pgo
This commit is contained in:
@@ -0,0 +1,214 @@
|
||||
apiVersion: postgres-operator.crunchydata.com/v1beta1
|
||||
kind: PostgresCluster
|
||||
metadata:
|
||||
name: {{ default .Release.Name .Values.name }}
|
||||
spec:
|
||||
postgresVersion: {{ required "You must set the version of Postgres to deploy." .Values.postgresVersion }}
|
||||
{{- if .Values.postGISVersion }}
|
||||
postGISVersion: {{ quote .Values.postGISVersion }}
|
||||
{{- end }}
|
||||
{{- if .Values.imagePostgres }}
|
||||
image: {{ .Values.imagePostgres | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.port }}
|
||||
port: {{ .Values.port }}
|
||||
{{- end }}
|
||||
{{- if .Values.instances }}
|
||||
instances:
|
||||
{{ toYaml .Values.instances | indent 4 }}
|
||||
{{- else }}
|
||||
instances:
|
||||
- name: {{ default "instance1" .Values.instanceName | quote }}
|
||||
replicas: {{ default 1 .Values.instanceReplicas }}
|
||||
dataVolumeClaimSpec:
|
||||
{{- if .Values.instanceStorageClassName }}
|
||||
storageClassName: {{ .Values.instanceStorageClassName | quote }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- "ReadWriteOnce"
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ default "1Gi" .Values.instanceSize | quote }}
|
||||
{{- if or .Values.instanceMemory .Values.instanceCPU }}
|
||||
resources:
|
||||
limits:
|
||||
cpu: {{ default "" .Values.instanceCPU | quote }}
|
||||
memory: {{ default "" .Values.instanceMemory | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
backups:
|
||||
pgbackrest:
|
||||
{{- if .Values.imagePgBackRest }}
|
||||
image: {{ .Values.imagePgBackRest | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.pgBackRestConfig }}
|
||||
{{ toYaml .Values.pgBackRestConfig | indent 6 }}
|
||||
{{- else if .Values.multiBackupRepos }}
|
||||
configuration:
|
||||
- secret:
|
||||
name: {{ default .Release.Name .Values.name }}-pgbackrest-secret
|
||||
global:
|
||||
{{- range $index, $repo := .Values.multiBackupRepos }}
|
||||
{{- if or $repo.s3 $repo.gcs $repo.azure }}
|
||||
repo{{ add $index 1 }}-path: /pgbackrest/{{ $.Release.Namespace }}/{{ default $.Release.Name $.Values.name }}/repo{{ add $index 1 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
repos:
|
||||
{{- range $index, $repo := .Values.multiBackupRepos }}
|
||||
- name: repo{{ add $index 1 }}
|
||||
{{- if $repo.volume }}
|
||||
volume:
|
||||
volumeClaimSpec:
|
||||
{{- if $repo.volume.backupsStorageClassName }}
|
||||
storageClassName: {{ .Values.backupsStorageClassName | quote }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- "ReadWriteOnce"
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ default "1Gi" $repo.volume.backupsSize | quote }}
|
||||
{{- else if $repo.s3 }}
|
||||
s3:
|
||||
bucket: {{ $repo.s3.bucket | quote }}
|
||||
endpoint: {{ $repo.s3.endpoint | quote }}
|
||||
region: {{ $repo.s3.region | quote }}
|
||||
{{- else if $repo.gcs }}
|
||||
gcs:
|
||||
bucket: {{ $repo.gcs.bucket | quote }}
|
||||
{{- else if $repo.azure }}
|
||||
azure:
|
||||
container: {{ $repo.azure.container | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- 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 if .Values.gcs }}
|
||||
configuration:
|
||||
- secret:
|
||||
name: {{ default .Release.Name .Values.name }}-pgbackrest-secret
|
||||
global:
|
||||
repo1-path: /pgbackrest/{{ .Release.Namespace }}/{{ default .Release.Name .Values.name }}/repo1
|
||||
repos:
|
||||
- name: repo1
|
||||
gcs:
|
||||
bucket: {{ .Values.gcs.bucket | quote }}
|
||||
{{- else if .Values.azure }}
|
||||
configuration:
|
||||
- secret:
|
||||
name: {{ default .Release.Name .Values.name }}-pgbackrest-secret
|
||||
global:
|
||||
repo1-path: /pgbackrest/{{ .Release.Namespace }}/{{ default .Release.Name .Values.name }}/repo1
|
||||
repos:
|
||||
- name: repo1
|
||||
azure:
|
||||
container: {{ .Values.azure.container | quote }}
|
||||
{{- else }}
|
||||
repos:
|
||||
- name: repo1
|
||||
volume:
|
||||
volumeClaimSpec:
|
||||
{{- if .Values.backupsStorageClassName }}
|
||||
storageClassName: {{ .Values.backupsStorageClassName | quote }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- "ReadWriteOnce"
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ default "1Gi" .Values.backupsSize | quote }}
|
||||
{{- end }}
|
||||
{{- if or .Values.pgBouncerReplicas .Values.pgBouncerConfig }}
|
||||
proxy:
|
||||
pgBouncer:
|
||||
{{- if .Values.imagePgBouncer }}
|
||||
image: {{ .Values.imagePgBouncer | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.pgBouncerConfig }}
|
||||
{{ toYaml .Values.pgBouncerConfig | indent 6 }}
|
||||
{{- else }}
|
||||
replicas: {{ .Values.pgBouncerReplicas }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.patroni }}
|
||||
patroni:
|
||||
{{ toYaml .Values.patroni | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.users }}
|
||||
users:
|
||||
{{ toYaml .Values.users | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.service }}
|
||||
service:
|
||||
{{ toYaml .Values.service | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.dataSource }}
|
||||
dataSource:
|
||||
{{ toYaml .Values.dataSource | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.databaseInitSQL }}
|
||||
databaseInitSQL:
|
||||
name: {{ required "A ConfigMap name is required for running bootstrap SQL." .Values.databaseInitSQL.name | quote }}
|
||||
key: {{ required "A key in a ConfigMap containing any bootstrap SQL is required." .Values.databaseInitSQL.key | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.imagePullPolicy }}
|
||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{ toYaml .Values.imagePullSecrets | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.disableDefaultPodScheduling }}
|
||||
disableDefaultPodScheduling: true
|
||||
{{- end }}
|
||||
{{- if .Values.metadata }}
|
||||
metadata:
|
||||
{{ toYaml .Values.metadata | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.monitoring }}
|
||||
monitoring:
|
||||
pgmonitor:
|
||||
exporter:
|
||||
image: {{ default "" .Values.imageExporter | quote }}
|
||||
{{- if .Values.monitoringConfig }}
|
||||
{{ toYaml .Values.monitoringConfig | indent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.shutdown }}
|
||||
shutdown: true
|
||||
{{- end }}
|
||||
{{- if .Values.standby }}
|
||||
standby:
|
||||
enabled: {{ .Values.standby.enabled }}
|
||||
repoName: {{ .Values.standby.repoName }}
|
||||
host: {{ .Values.standby.host }}
|
||||
port: {{ .Values.standby.port }}
|
||||
{{- end }}
|
||||
{{- if .Values.supplementalGroups }}
|
||||
supplementalGroups:
|
||||
{{ toYaml .Values.supplementalGroups | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.openshift }}
|
||||
openshift: true
|
||||
{{- else if eq .Values.openshift false }}
|
||||
openshift: false
|
||||
{{- end }}
|
||||
{{- if .Values.customTLSSecret }}
|
||||
customTLSSecret:
|
||||
{{ toYaml .Values.customTLSSecret | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.customReplicationTLSSecret }}
|
||||
customReplicationTLSSecret:
|
||||
{{ toYaml .Values.customReplicationTLSSecret | indent 4 }}
|
||||
{{- end }}
|
Reference in New Issue
Block a user