cloudnative-pg / cloudnative-pg/plugin-barman-cloud

Backup to different object store

Offen
#611 3 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Go
Sterne
191
Forks
72
Ø Merge
2 T. 21 Std.
Gemergte PRs (30 T.)
21

Beschreibung

Hi,
first of all thank you for the amazing work!

I might have a bit of an odd use case:
Currently I have two S3 compatible object stores. One onsite and one for offsite backups. Because the connection to the offsite one can be quite slow (this is a homelab setup), I didn't want to send WALs to the offsite S3 but just baseline backups every so often.

From what I can tell the BackupServiceImplementation currently just uses the barmanObjectKey from the cluster definition and ignores any parameters specified directly on the Backup or BackupSchedule CRD.

Would it be possible to support overriding the object store in the backup crd like this?

```
apiVersion: postgresql.cnpg.io/v1
kind: Backup
metadata:
name: backup-example
spec:
cluster:
name: pg-nextcloud
method: plugin
pluginConfiguration:
name: barman-cloud.cloudnative-pg.io
parameters:
barmanObjectName: anotherObjectStore

```

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie mit dem Lesen von BackupServiceImplementation und der in der Issue beschriebenen Verarbeitung der CRDs Backup und BackupSchedule. Verfolgen Sie, wie barmanObjectKey im Vergleich zu den Parametern von pluginConfiguration ausgewählt wird, identifizieren Sie anschließend die vorhandenen Backup-Tests und überprüfen Sie, dass ein explizit konfigurierter barmanObjectName den Object Store des Clusters sowohl für Ressourcen vom Typ Backup als auch für Ressourcen vom Typ BackupSchedule überschreibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
go, postgresql
Bereich
cloud, databases
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.