deploy-templates/templates/postgres.yaml (146 lines of code) (raw):

apiVersion: postgres-operator.crunchydata.com/v1beta1 kind: PostgresCluster metadata: name: operational spec: image: {{ template "imageRegistry" . -}} {{ .Values.postgresCluster.image.name }}:{{ .Values.postgresCluster.image.version }} postgresVersion: {{ .Values.postgresCluster.postgresVersion }} databaseInitSQL: key: init.sql name: rm-template-stat-statements instances: - name: {{ .Values.global.crunchyPostgresOperator.instances.operational.name }} replicas: {{ .Values.global.crunchyPostgresOperator.instances.operational.replicas }} metadata: annotations: backup.velero.io/backup-volumes: postgres-data labels: collect.logs: "plain-text" dataVolumeClaimSpec: storageClassName: {{ .Values.global.storageClass }} accessModes: - "ReadWriteOnce" resources: requests: storage: {{ .Values.global.crunchyPostgres.storageSize }} backups: pgbackrest: image: {{ template "imageRegistry" . -}} {{ .Values.postgresCluster.pgbackrest.image.name }}:{{ .Values.postgresCluster.pgbackrest.image.version }} metadata: labels: collect.logs: "plain-text" configuration: - secret: name: {{ .Values.postgresCluster.minioSecretName }} global: repo1-path: "/postgres-backup/{{ .Values.namespace }}/operational" {{- with .Values.postgresCluster.backups.pgbackrest.global }} {{- toYaml . | nindent 9 }} {{- end }} repos: - name: {{ .Values.postgresCluster.backups.pgbackrest.repos.name }} schedules: full: "{{ .Values.global.crunchyPostgres.backups.pgbackrest.repos.schedules.full }}" s3: bucket: {{ .Values.global.crunchyPostgresOperator.minioConf.bucketName }} endpoint: {{ .Values.global.crunchyPostgresOperator.minioConf.endpoint }} region: {{ .Values.postgresCluster.region }} patroni: dynamicConfiguration: failsafe_mode: true synchronous_mode: true synchronous_node_count: {{ sub .Values.global.crunchyPostgresOperator.instances.operational.replicas 1 }} pause: false postgresql: {{- with .Values.postgresCluster.postgresql.parameters }} parameters: max_connections: {{ $.Values.global.crunchyPostgres.postgresql.parameters.max_connections }} {{- toYaml . | nindent 10 }} {{- end }} pg_hba: - host all all all md5 use_slots: true slots: operational_sub: database: registry plugin: pgoutput type: logical users: - name: postgres password: type: AlphaNumeric monitoring: pgmonitor: exporter: image: {{ template "imageRegistry" . -}} {{ .Values.postgresCluster.pgmonitor.exporter.image.name }}:{{ .Values.postgresCluster.pgmonitor.exporter.image.version }} --- apiVersion: postgres-operator.crunchydata.com/v1beta1 kind: PostgresCluster metadata: name: analytical spec: image: {{ template "imageRegistry" . -}} {{ .Values.postgresCluster.image.name }}:{{ .Values.postgresCluster.image.version }} postgresVersion: {{ .Values.postgresCluster.postgresVersion }} databaseInitSQL: key: init.sql name: rm-template-stat-statements instances: - name: {{ .Values.global.crunchyPostgresOperator.instances.analytical.name }} replicas: {{ .Values.global.crunchyPostgresOperator.instances.analytical.replicas }} metadata: annotations: backup.velero.io/backup-volumes: postgres-data labels: collect.logs: "plain-text" dataVolumeClaimSpec: storageClassName: {{ .Values.global.storageClass }} accessModes: - "ReadWriteOnce" resources: requests: storage: {{ .Values.global.crunchyPostgres.storageSize }} backups: pgbackrest: image: {{ template "imageRegistry" . -}} {{ .Values.postgresCluster.pgbackrest.image.name }}:{{ .Values.postgresCluster.pgbackrest.image.version }} metadata: labels: collect.logs: "plain-text" configuration: - secret: name: {{ .Values.postgresCluster.minioSecretName }} global: repo1-path: "/postgres-backup/{{ .Values.namespace }}/analytical" {{- with .Values.postgresCluster.backups.pgbackrest.global }} {{- toYaml . | nindent 9 }} {{- end }} repos: - name: {{ .Values.postgresCluster.backups.pgbackrest.repos.name }} schedules: full: "{{ .Values.global.crunchyPostgres.backups.pgbackrest.repos.schedules.full }}" s3: bucket: {{ .Values.global.crunchyPostgresOperator.minioConf.bucketName }} endpoint: {{ .Values.global.crunchyPostgresOperator.minioConf.endpoint }} region: {{ .Values.postgresCluster.region }} patroni: dynamicConfiguration: failsafe_mode: true synchronous_mode: true synchronous_node_count: {{ sub .Values.global.crunchyPostgresOperator.instances.analytical.replicas 1 }} pause: false postgresql: {{- with .Values.postgresCluster.postgresql.parameters }} parameters: max_connections: {{ $.Values.global.crunchyPostgres.postgresql.parameters.max_connections }} {{- toYaml . | nindent 10 }} {{- end }} pg_hba: - host all all all md5 use_slots: true users: - name: postgres password: type: AlphaNumeric monitoring: pgmonitor: exporter: image: {{ template "imageRegistry" . -}} {{ .Values.postgresCluster.pgmonitor.exporter.image.name }}:{{ .Values.postgresCluster.pgmonitor.exporter.image.version }}