internal/tenantbackup: datenbank-scharfes pg_dump/pg_restore statt BAK-01s Cluster-weitem pg_basebackup - bei Modell C (TEN-01, physisch isolierte DB je Mandant) wuerde ein Cluster-Restore zwangslaeufig ALLE Mandanten ueberschreiben. Objekt-Seite nutzt BAK-02 direkt (Mandanten haben eigene Buckets/Pfad-Roots). Eigene Postgres-Rolle nexarch_tenantbackup (CREATEDB, kein Superuser, getrennt von nexarch_backup). Zwei-Tenant-Isolation real in beide Richtungen bewiesen (Markerwert-Nachweis), JSONL-Protokoll fuer Sicherung UND Restore. Realer End-zu-Ende-Lauf ueber tenantbackup-cli auf 131.
18 lines
768 B
Cheetah
18 lines
768 B
Cheetah
[Unit]
|
|
Description=NEXARCH Archive - Tenant-Backup einzelner Mandant (BAK-04)
|
|
After=network.target postgresql.service
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
User=nexarch
|
|
Environment=PATH=/usr/bin:/bin:/usr/lib/postgresql/17/bin
|
|
EnvironmentFile=/etc/nexarch/archive-tenantbackup.env
|
|
# NEXARCH_TENANTBACKUP_TENANT_DB und NEXARCH_TENANTBACKUP_STORAGE_ROOT
|
|
# muessen je Mandant separat gesetzt werden (z.B. ueber eine
|
|
# systemd-Template-Unit @<mandant>.service, sobald TEN-01s
|
|
# Tenant-Registry real abfragbar ist) - hier bewusst als Platzhalter
|
|
# belassen, kein automatisches "alle Mandanten"-Enumerieren ohne echte
|
|
# Registry-Anbindung.
|
|
ExecStart=__INSTALL_DIR__/bin/tenantbackup-cli backup ${NEXARCH_TENANTBACKUP_TENANT_DB} ${NEXARCH_TENANTBACKUP_STORAGE_ROOT}
|
|
StandardOutput=journal
|