refactor external clusters to a helper

This commit is contained in:
2025-12-14 22:07:07 -06:00
parent 1e52cebbd3
commit 74577ae63d
5 changed files with 34 additions and 23 deletions

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: postgres-cluster name: postgres-cluster
version: 6.17.3 version: 6.18.0
description: Cloudnative-pg Cluster description: Cloudnative-pg Cluster
keywords: keywords:
- database - database

View File

@@ -1,6 +1,6 @@
# postgres-cluster # postgres-cluster
![Version: 6.17.3](https://img.shields.io/badge/Version-6.17.3-informational?style=flat-square) ![AppVersion: v1.28.0](https://img.shields.io/badge/AppVersion-v1.28.0-informational?style=flat-square) ![Version: 6.18.0](https://img.shields.io/badge/Version-6.18.0-informational?style=flat-square) ![AppVersion: v1.28.0](https://img.shields.io/badge/AppVersion-v1.28.0-informational?style=flat-square)
Cloudnative-pg Cluster Cloudnative-pg Cluster

View File

@@ -23,7 +23,7 @@ bootstrap:
{{- else if eq .Values.mode "recovery" -}} {{- else if eq .Values.mode "recovery" -}}
bootstrap: bootstrap:
{{- if eq .Values.recovery.method "pgBaseBackup" }} {{- if eq .Values.recovery.method "pgBaseBackup" }}
pg_basebackup: pg_basebackup:
source: pgBaseBackupSource source: pgBaseBackupSource
{{ with .Values.recovery.pgBaseBackup.database }} {{ with .Values.recovery.pgBaseBackup.database }}
@@ -36,10 +36,8 @@ bootstrap:
secret: secret:
{{- toYaml . | nindent 6 }} {{- toYaml . | nindent 6 }}
{{- end }} {{- end }}
externalClusters:
{{- include "cluster.externalSourceCluster" (list "pgBaseBackupSource" .Values.recovery.pgBaseBackup.source) | nindent 2 }}
{{- else if eq .Values.recovery.method "import" }} {{- else if eq .Values.recovery.method "import" }}
initdb: initdb:
{{- with .Values.cluster.initdb }} {{- with .Values.cluster.initdb }}
{{- with (omit . "owner" "import" "postInitApplicationSQL") }} {{- with (omit . "owner" "import" "postInitApplicationSQL") }}
@@ -82,10 +80,8 @@ externalClusters:
pgRestoreExtraOptions: pgRestoreExtraOptions:
{{- . | toYaml | nindent 8 }} {{- . | toYaml | nindent 8 }}
{{- end }} {{- end }}
externalClusters:
{{- include "cluster.externalSourceCluster" (list "importSource" .Values.recovery.import.source) | nindent 2 }}
{{- else if eq .Values.recovery.method "backup" }} {{- else if eq .Values.recovery.method "backup" }}
recovery: recovery:
{{- with .Values.recovery.backup.pitrTarget.time }} {{- with .Values.recovery.backup.pitrTarget.time }}
recoveryTarget: recoveryTarget:
@@ -100,7 +96,7 @@ externalClusters:
backup: backup:
name: {{ .Values.recovery.backup.backupName }} name: {{ .Values.recovery.backup.backupName }}
{{- else if eq .Values.recovery.method "objectStore" }} {{- else if eq .Values.recovery.method "objectStore" }}
recovery: recovery:
{{- with .Values.recovery.objectStore.pitrTarget.time }} {{- with .Values.recovery.objectStore.pitrTarget.time }}
recoveryTarget: recoveryTarget:
@@ -114,19 +110,9 @@ externalClusters:
{{- end }} {{- end }}
source: {{ include "cluster.recoveryServerName" . }} source: {{ include "cluster.recoveryServerName" . }}
externalClusters: {{- else }}
- name: {{ include "cluster.recoveryServerName" . }} {{ fail "Invalid recovery mode!" }}
plugin: {{- end }}
name: barman-cloud.cloudnative-pg.io
enabled: true
isWALArchiver: false
parameters:
barmanObjectName: "{{ include "cluster.name" . }}-{{ .Values.recovery.objectStore.name }}"
serverName: {{ include "cluster.recoveryServerName" . }}
{{- else }}
{{ fail "Invalid recovery mode!" }}
{{- end }}
{{- else }} {{- else }}
{{ fail "Invalid cluster mode!" }} {{ fail "Invalid cluster mode!" }}

View File

@@ -0,0 +1,24 @@
{{- define "cluster.externalClusters" -}}
externalClusters:
{{- if eq .Values.mode "standalone" }}
{{- else if eq .Values.mode "recovery" }}
{{- if eq .Values.recovery.method "pgBaseBackup" }}
- name: pgBaseBackupSource
{{- include "cluster.externalSourceCluster" .Values.recovery.pgBaseBackup.source | nindent 4 }}
{{- else if eq .Values.recovery.method "import" }}
- name: importSource
{{- include "cluster.externalSourceCluster" .Values.recovery.import.source | nindent 4 }}
{{- else if eq .Values.recovery.method "objectStore" }}
- name: {{ include "cluster.recoveryServerName" . }}
plugin:
name: barman-cloud.cloudnative-pg.io
enabled: true
isWALArchiver: false
barmanObjectStore:
barmanObjectName: "{{ include "cluster.name" . }}-{{ .Values.recovery.objectStore.name }}"
serverName: {{ include "cluster.recoveryServerName" . }}
{{- end }}
{{- else }}
{{ fail "Invalid cluster mode!" }}
{{- end }}
{{ end }}

View File

@@ -148,3 +148,4 @@ spec:
{{- end }} {{- end }}
{{ include "cluster.bootstrap" . | nindent 2 }} {{ include "cluster.bootstrap" . | nindent 2 }}
{{ include "cluster.externalClusters" . | nindent 2 }}