diff --git a/charts/postgres-cluster/Chart.yaml b/charts/postgres-cluster/Chart.yaml index de398fc..3f7132e 100644 --- a/charts/postgres-cluster/Chart.yaml +++ b/charts/postgres-cluster/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: postgres-cluster -version: 7.13.1 +version: 7.13.2 description: Cloudnative-pg Cluster keywords: - database diff --git a/charts/postgres-cluster/README.md b/charts/postgres-cluster/README.md index fd1dd4a..35fb68f 100644 --- a/charts/postgres-cluster/README.md +++ b/charts/postgres-cluster/README.md @@ -1,6 +1,6 @@ # postgres-cluster -![Version: 7.13.1](https://img.shields.io/badge/Version-7.13.1-informational?style=flat-square) ![AppVersion: v1.29.1](https://img.shields.io/badge/AppVersion-v1.29.1-informational?style=flat-square) +![Version: 7.13.2](https://img.shields.io/badge/Version-7.13.2-informational?style=flat-square) ![AppVersion: v1.29.1](https://img.shields.io/badge/AppVersion-v1.29.1-informational?style=flat-square) Cloudnative-pg Cluster @@ -19,10 +19,10 @@ Cloudnative-pg Cluster | Key | Type | Default | Description | |-----|------|---------|-------------| -| backup | object | `{"externalSecret":{"enabled":true},"method":"objectStore","objectStore":null,"scheduledBackups":[]}` | Backup settings | +| backup | object | `{"externalSecret":{"enabled":true},"method":"objectStore","objectStore":[],"scheduledBackups":[]}` | Backup settings | | backup.externalSecret | object | `{"enabled":true}` | Use generated External Secrets, credentialPath points at path in cluster store that contains the keys ACCESS_KEY_ID and ACCESS_SECRET_KEY | | backup.method | string | `"objectStore"` | Method to create backups, options currently are only objectStore | -| backup.objectStore | string | `nil` | Options for object store backups | +| backup.objectStore | list | `[]` | Options for object store backups | | backup.scheduledBackups | list | `[]` | List of scheduled backups | | cluster | object | `{"additionalLabels":{},"affinity":{"enablePodAntiAffinity":true,"topologyKey":"kubernetes.io/hostname"},"annotations":{},"certificates":{},"enablePDB":true,"enableSuperuserAccess":false,"image":{"repository":"ghcr.io/cloudnative-pg/postgresql","tag":"18.3-standard-trixie"},"imagePullPolicy":"IfNotPresent","imagePullSecrets":[],"initdb":{"database":"app","owner":"app"},"instances":3,"logLevel":"info","monitoring":{"customQueries":[],"customQueriesSecret":[],"disableDefaultQueries":false,"enabled":true,"podMonitor":{"enabled":true,"metricRelabelings":[],"relabelings":[]},"prometheusRule":{"enabled":true,"excludeRules":["CNPGClusterLastFailedArchiveTimeWarning"]}},"postgresGID":-1,"postgresUID":-1,"postgresql":{"ldap":{},"parameters":{"hot_standby_feedback":"on","max_slot_wal_keep_size":"2000MB","shared_buffers":"512MB"},"pg_hba":[],"pg_ident":[],"shared_preload_libraries":[],"synchronous":{}},"primaryUpdateMethod":"switchover","primaryUpdateStrategy":"unsupervised","priorityClassName":"","resources":{"limits":{"hugepages-2Mi":"256Mi"},"requests":{"cpu":"20m","memory":"80Mi"}},"roles":[],"serviceAccountTemplate":{},"services":{},"storage":{"size":"10Gi","storageClass":"local-path"},"superuserSecret":"","walStorage":{"enabled":true,"size":"2Gi","storageClass":"local-path"}}` | Cluster settings | | cluster.affinity | object | `{"enablePodAntiAffinity":true,"topologyKey":"kubernetes.io/hostname"}` | Affinity/Anti-affinity rules for Pods. See: https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-AffinityConfiguration | diff --git a/charts/postgres-cluster/template.yaml b/charts/postgres-cluster/template.yaml deleted file mode 100644 index 44c2519..0000000 --- a/charts/postgres-cluster/template.yaml +++ /dev/null @@ -1,346 +0,0 @@ ---- -# Source: postgres-cluster/templates/cluster.yaml -apiVersion: postgresql.cnpg.io/v1 -kind: Cluster -metadata: - name: release-name-postgresql-18-cluster - namespace: gitea - labels: - app.kubernetes.io/name: release-name-postgresql-18-cluster - helm.sh/chart: postgres-cluster-7.13.1 - app.kubernetes.io/instance: release-name - app.kubernetes.io/part-of: release-name - app.kubernetes.io/version: "7.13.1" - app.kubernetes.io/managed-by: Helm -spec: - instances: 3 - imageName: "ghcr.io/cloudnative-pg/postgresql:18.3-standard-trixie" - imagePullPolicy: IfNotPresent - postgresUID: 26 - postgresGID: 26 - storage: - size: 10Gi - storageClass: local-path - walStorage: - size: 2Gi - storageClass: local-path - resources: - limits: - hugepages-2Mi: 256Mi - requests: - cpu: 20m - memory: 80Mi - affinity: - enablePodAntiAffinity: true - topologyKey: kubernetes.io/hostname - primaryUpdateMethod: switchover - primaryUpdateStrategy: unsupervised - logLevel: info - enableSuperuserAccess: false - enablePDB: true - postgresql: - parameters: - hot_standby_feedback: "on" - max_slot_wal_keep_size: 2000MB - shared_buffers: 128MB - monitoring: - enablePodMonitor: false - disableDefaultQueries: false - - bootstrap: - initdb: - database: app - owner: app ---- -# Source: postgres-cluster/templates/pod-monitor.yaml -apiVersion: monitoring.coreos.com/v1 -kind: PodMonitor -metadata: - name: release-name-postgresql-18 - namespace: gitea - labels: - app.kubernetes.io/name: release-name-postgresql-18 - helm.sh/chart: postgres-cluster-7.13.1 - app.kubernetes.io/instance: release-name - app.kubernetes.io/part-of: release-name - app.kubernetes.io/version: "7.13.1" - app.kubernetes.io/managed-by: Helm -spec: - selector: - matchLabels: - cnpg.io/cluster: release-name-postgresql-18 - cnpg.io/podRole: instance - podMetricsEndpoints: - - port: metrics ---- -# Source: postgres-cluster/templates/prometheus-rule.yaml -apiVersion: monitoring.coreos.com/v1 -kind: PrometheusRule -metadata: - name: release-name-postgresql-18-alert-rules - namespace: gitea - labels: - app.kubernetes.io/name: release-name-postgresql-18-alert-rules - helm.sh/chart: postgres-cluster-7.13.1 - app.kubernetes.io/instance: release-name - app.kubernetes.io/part-of: release-name - app.kubernetes.io/version: "7.13.1" - app.kubernetes.io/managed-by: Helm -spec: - groups: - - name: cloudnative-pg/release-name-postgresql-18 - rules: - - alert: CNPGClusterBackendsWaitingWarning - annotations: - summary: CNPG Cluster a backend is waiting for longer than 5 minutes. - description: |- - Pod {{ $labels.pod }} - has been waiting for longer than 5 minutes - expr: | - cnpg_backends_waiting_total{namespace="gitea"} > 300 - for: 1m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterDatabaseDeadlockConflictsWarning - annotations: - summary: CNPG Cluster has over 10 deadlock conflicts. - description: |- - There are over 10 deadlock conflicts in - {{ $labels.pod }} - expr: | - cnpg_pg_stat_database_deadlocks{namespace="gitea"} > 10 - for: 1m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterHACritical - annotations: - summary: CNPG Cluster has no standby replicas! - description: |- - CloudNativePG Cluster "{{`{{`}} $labels.job {{`}}`}}" has no ready standby replicas. Your cluster at a severe - risk of data loss and downtime if the primary instance fails. - - The primary instance is still online and able to serve queries, although connections to the `-ro` endpoint - will fail. The `-r` endpoint os operating at reduced capacity and all traffic is being served by the main. - - This can happen during a normal fail-over or automated minor version upgrades in a cluster with 2 or less - instances. The replaced instance may need some time to catch-up with the cluster primary instance. - - This alarm will be always trigger if your cluster is configured to run with only 1 instance. In this - case you may want to silence it. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHACritical.md - expr: | - max by (job) (cnpg_pg_replication_streaming_replicas{namespace="gitea"} - cnpg_pg_replication_is_wal_receiver_up{namespace="gitea"}) < 1 - for: 5m - labels: - severity: critical - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterHAWarning - annotations: - summary: CNPG Cluster less than 2 standby replicas. - description: |- - CloudNativePG Cluster "{{`{{`}} $labels.job {{`}}`}}" has only {{`{{`}} $value {{`}}`}} standby replicas, putting - your cluster at risk if another instance fails. The cluster is still able to operate normally, although - the `-ro` and `-r` endpoints operate at reduced capacity. - - This can happen during a normal fail-over or automated minor version upgrades. The replaced instance may - need some time to catch-up with the cluster primary instance. - - This alarm will be constantly triggered if your cluster is configured to run with less than 3 instances. - In this case you may want to silence it. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHAWarning.md - expr: | - max by (job) (cnpg_pg_replication_streaming_replicas{namespace="gitea"} - cnpg_pg_replication_is_wal_receiver_up{namespace="gitea"}) < 2 - for: 5m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterHighConnectionsCritical - annotations: - summary: CNPG Instance maximum number of connections critical! - description: |- - CloudNativePG Cluster "gitea/release-name-postgresql-18-cluster" instance {{`{{`}} $labels.pod {{`}}`}} is using {{`{{`}} $value {{`}}`}}% of - the maximum number of connections. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighConnectionsCritical.md - expr: | - sum by (pod) (cnpg_backends_total{namespace="gitea", pod=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"}) / max by (pod) (cnpg_pg_settings_setting{name="max_connections", namespace="gitea", pod=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"}) * 100 > 95 - for: 5m - labels: - severity: critical - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterHighConnectionsWarning - annotations: - summary: CNPG Instance is approaching the maximum number of connections. - description: |- - CloudNativePG Cluster "gitea/release-name-postgresql-18-cluster" instance {{`{{`}} $labels.pod {{`}}`}} is using {{`{{`}} $value {{`}}`}}% of - the maximum number of connections. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighConnectionsWarning.md - expr: | - sum by (pod) (cnpg_backends_total{namespace="gitea", pod=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"}) / max by (pod) (cnpg_pg_settings_setting{name="max_connections", namespace="gitea", pod=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"}) * 100 > 80 - for: 5m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterHighReplicationLag - annotations: - summary: CNPG Cluster high replication lag - description: |- - CloudNativePG Cluster "gitea/release-name-postgresql-18-cluster" is experiencing a high replication lag of - {{`{{`}} $value {{`}}`}}ms. - - High replication lag indicates network issues, busy instances, slow queries or suboptimal configuration. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterHighReplicationLag.md - expr: | - max(cnpg_pg_replication_lag{namespace="gitea",pod=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"}) * 1000 > 1000 - for: 5m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterInstancesOnSameNode - annotations: - summary: CNPG Cluster instances are located on the same node. - description: |- - CloudNativePG Cluster "gitea/release-name-postgresql-18-cluster" has {{`{{`}} $value {{`}}`}} - instances on the same node {{`{{`}} $labels.node {{`}}`}}. - - A failure or scheduled downtime of a single node will lead to a potential service disruption and/or data loss. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterInstancesOnSameNode.md - expr: | - count by (node) (kube_pod_info{namespace="gitea", pod=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"}) > 1 - for: 5m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterLongRunningTransactionWarning - annotations: - summary: CNPG Cluster query is taking longer than 5 minutes. - description: |- - CloudNativePG Cluster Pod {{ $labels.pod }} - is taking more than 5 minutes (300 seconds) for a query. - expr: |- - cnpg_backends_max_tx_duration_seconds{namespace="gitea"} > 300 - for: 1m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterLowDiskSpaceCritical - annotations: - summary: CNPG Instance is running out of disk space! - description: |- - CloudNativePG Cluster "gitea/release-name-postgresql-18-cluster" is running extremely low on disk space. Check attached PVCs! - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterLowDiskSpaceCritical.md - expr: | - max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"} / kubelet_volume_stats_capacity_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"})) > 0.9 OR - max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$-wal"} / kubelet_volume_stats_capacity_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$-wal"})) > 0.9 OR - max(sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_used_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) - / - sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) - * - on(namespace, persistentvolumeclaim) group_left(volume) - kube_pod_spec_volumes_persistentvolumeclaims_info{pod=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"} - ) > 0.9 - for: 5m - labels: - severity: critical - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterLowDiskSpaceWarning - annotations: - summary: CNPG Instance is running out of disk space. - description: |- - CloudNativePG Cluster "gitea/release-name-postgresql-18-cluster" is running low on disk space. Check attached PVCs. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterLowDiskSpaceWarning.md - expr: | - max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"} / kubelet_volume_stats_capacity_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"})) > 0.7 OR - max(max by(persistentvolumeclaim) (1 - kubelet_volume_stats_available_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$-wal"} / kubelet_volume_stats_capacity_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$-wal"})) > 0.7 OR - max(sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_used_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) - / - sum by (namespace,persistentvolumeclaim) (kubelet_volume_stats_capacity_bytes{namespace="gitea", persistentvolumeclaim=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$-tbs.*"}) - * - on(namespace, persistentvolumeclaim) group_left(volume) - kube_pod_spec_volumes_persistentvolumeclaims_info{pod=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"} - ) > 0.7 - for: 5m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterOffline - annotations: - summary: CNPG Cluster has no running instances! - description: |- - CloudNativePG Cluster "gitea/release-name-postgresql-18-cluster" has no ready instances. - - Having an offline cluster means your applications will not be able to access the database, leading to - potential service disruption and/or data loss. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterOffline.md - expr: | - (count(cnpg_collector_up{namespace="gitea",pod=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"}) OR on() vector(0)) == 0 - for: 5m - labels: - severity: critical - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterPGDatabaseXidAgeWarning - annotations: - summary: CNPG Cluster has a number of transactions from the frozen XID to the current one. - description: |- - Over 300,000,000 transactions from frozen xid - on pod {{ $labels.pod }} - expr: | - cnpg_pg_database_xid_age{namespace="gitea"} > 300000000 - for: 1m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterPGReplicationWarning - annotations: - summary: CNPG Cluster standby is lagging behind the primary. - description: |- - Standby is lagging behind by over 300 seconds (5 minutes) - expr: | - cnpg_pg_replication_lag{namespace="gitea"} > 300 - for: 1m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterReplicaFailingReplicationWarning - annotations: - summary: CNPG Cluster has a replica is failing to replicate. - description: |- - Replica {{ $labels.pod }} - is failing to replicate - expr: | - cnpg_pg_replication_in_recovery{namespace="gitea"} > cnpg_pg_replication_is_wal_receiver_up{namespace="gitea"} - for: 1m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster - - alert: CNPGClusterZoneSpreadWarning - annotations: - summary: CNPG Cluster instances in the same zone. - description: |- - CloudNativePG Cluster "gitea/release-name-postgresql-18-cluster" has instances in the same availability zone. - - A disaster in one availability zone will lead to a potential service disruption and/or data loss. - runbook_url: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/docs/runbooks/CNPGClusterZoneSpreadWarning.md - expr: | - 3 > count(count by (label_topology_kubernetes_io_zone) (kube_pod_info{namespace="gitea", pod=~"release-name-postgresql-18-cluster-([1-9][0-9]*)$"} * on(node,instance) group_left(label_topology_kubernetes_io_zone) kube_node_labels)) < 3 - for: 5m - labels: - severity: warning - namespace: gitea - cnpg_cluster: release-name-postgresql-18-cluster diff --git a/charts/postgres-cluster/templates/_bootstrap.tpl b/charts/postgres-cluster/templates/_bootstrap.tpl index af1d39b..76243f4 100644 --- a/charts/postgres-cluster/templates/_bootstrap.tpl +++ b/charts/postgres-cluster/templates/_bootstrap.tpl @@ -1,5 +1,5 @@ -{{- define "cluster.bootstrap" }} -{{- if eq .Values.mode "standalone" }} +{{- define "cluster.bootstrap" -}} +{{- if eq .Values.mode "standalone" -}} bootstrap: initdb: {{- with .Values.cluster.initdb }} @@ -18,7 +18,7 @@ bootstrap: {{- end }} {{- end }} {{- end }} -{{- else if eq .Values.mode "recovery" }} +{{- else if eq .Values.mode "recovery" -}} bootstrap: {{- if eq .Values.recovery.method "import" }} initdb: @@ -55,11 +55,11 @@ bootstrap: {{- end }} {{- end }} schemaOnly: {{ .Values.recovery.import.schemaOnly }} - {{ with .Values.recovery.import.pgDumpExtraOptions }} + {{- with .Values.recovery.import.pgDumpExtraOptions }} pgDumpExtraOptions: {{- . | toYaml | nindent 8 }} {{- end }} - {{ with .Values.recovery.import.pgRestoreExtraOptions }} + {{- with .Values.recovery.import.pgRestoreExtraOptions }} pgRestoreExtraOptions: {{- . | toYaml | nindent 8 }} {{- end }} @@ -69,10 +69,10 @@ bootstrap: recoveryTarget: targetTime: {{ . }} {{- end }} - {{ with .Values.recovery.backup.database }} + {{- with .Values.recovery.backup.database }} database: {{ . }} {{- end }} - {{ with .Values.recovery.backup.owner }} + {{- with .Values.recovery.backup.owner }} owner: {{ . }} {{- end }} backup: @@ -83,17 +83,17 @@ bootstrap: recoveryTarget: targetTime: {{ . }} {{- end }} - {{ with .Values.recovery.objectStore.database }} + {{- with .Values.recovery.objectStore.database }} database: {{ . }} {{- end }} - {{ with .Values.recovery.objectStore.owner }} + {{- with .Values.recovery.objectStore.owner }} owner: {{ . }} {{- end }} source: {{ include "cluster.recoveryServerName" . }} - {{- else }} + {{- else -}} {{ fail "Invalid recovery mode!" }} - {{- end }} -{{- else }} + {{- end -}} +{{- else -}} {{ fail "Invalid cluster mode!" }} -{{- end }} -{{- end }} +{{- end -}} +{{- end -}} diff --git a/charts/postgres-cluster/templates/_external_clusters.tpl b/charts/postgres-cluster/templates/_external_clusters.tpl index 7b07c51..6736dcf 100644 --- a/charts/postgres-cluster/templates/_external_clusters.tpl +++ b/charts/postgres-cluster/templates/_external_clusters.tpl @@ -1,6 +1,6 @@ -{{- define "cluster.externalClusters" }} -{{- if eq .Values.mode "standalone" }} -{{- else if eq .Values.mode "recovery" }} +{{- define "cluster.externalClusters" -}} +{{- if eq .Values.mode "standalone" -}} +{{- else if eq .Values.mode "recovery" -}} externalClusters: {{- if eq .Values.recovery.method "import" }} - name: importSource @@ -15,7 +15,7 @@ externalClusters: barmanObjectName: "{{ include "cluster.name" . }}-recovery" serverName: {{ include "cluster.recoveryServerName" . }} {{- end }} -{{- else }} +{{- else -}} {{ fail "Invalid cluster mode!" }} -{{- end }} -{{- end }} +{{- end -}} +{{- end -}} diff --git a/charts/postgres-cluster/templates/cluster.yaml b/charts/postgres-cluster/templates/cluster.yaml index 252cad9..bb25be2 100644 --- a/charts/postgres-cluster/templates/cluster.yaml +++ b/charts/postgres-cluster/templates/cluster.yaml @@ -124,7 +124,7 @@ spec: {{- toYaml . | nindent 6 }} {{- end }} {{- end }} - {{- if not (empty .Values.backup.objectStore) -}} + {{- if not (empty .Values.backup.objectStore) }} plugins: {{- range $objectStore := .Values.backup.objectStore }} - name: barman-cloud.cloudnative-pg.io diff --git a/charts/postgres-cluster/values.yaml b/charts/postgres-cluster/values.yaml index 182b56e..9d75dd8 100644 --- a/charts/postgres-cluster/values.yaml +++ b/charts/postgres-cluster/values.yaml @@ -394,7 +394,8 @@ backup: enabled: true # -- Options for object store backups - objectStore: + objectStore: [] + # - # # -- Object store backup name # name: external