-
walross v0.1.0 Stable
released this
2026-08-23 10:37:31 +02:00 | 40 commits to main since this releaseErste Fassung. Vollständiger Weg von der pgBackRest-Konfiguration bis zum
Restore-Drill.Backup-Layer
- Kommentierte
pgbackrest.conffür Single-Node und Primary/Standby:
block-inkrementelle Backups, Bundles, Prüfsummen, asynchrones WAL-Archiving. - Backups unkomprimiert (der PBS dedupliziert), WAL-Segmente mit
zstd—
dort gibt es nichts zu deduplizieren. archive-push-queue-maxbewusst ungesetzt: die Option verwirft WAL und
zerreißt still die PITR-Kette.archive_timeout = 60s, damit das RPO im Leerlauf eine Minute ist und nicht
„letztes Backup".- systemd-Timer für Full, Diff, Incr,
verify,check, Globals- und
DB-Dumps, alle mitOnFailure-Handler und PBS-Freeze-Sperre.
Rollen und Einzel-DB-Restore
- Parser für
pg_dumpall-Dumps, der Passwort-Hashes mit Semikolon, quotierte
Namen,GRANTED BYund die PG16-Mitgliedschaftsoptionen übersteht. - Ermittlung der benötigten Rollen aus Owner, GRANTs, Default Privileges und
RLS-Policies, mit transitivem Abschluss in beide Richtungen. - Additiver Plan mit Begründung je Rolle. Bestehende Rollen werden nie
geändert, nie gelöscht. - Rollen mit
SUPERUSER,CREATEROLE,CREATEDB,REPLICATIONoder
BYPASSRLSwerden blockiert, bis sie ausdrücklich freigegeben sind. - Owner- und ACL-Vergleich nach dem Restore.
Hub und Agent
- Der Hub schickt Absichten, keine Kommandozeilen. Das
argvbaut der Agent
aus seiner eigenen Konfiguration. - mTLS mit beidseitiger Common-Name-Prüfung.
- Ein einziger sudo-Eintrag ohne Wildcard; alles Privilegierte läuft über den
walross-exec-Helper, der jede Absicht erneut prüft. - Langläufer als transiente systemd-Units — ein Neustart des Hubs schneidet
kein Restore ab. - Lokaler
read_only-Schalter je Host, unabhängig vom Rollenmodell.
Oberfläche
- Dashboard mit Ampel je Stanza, Backup-Liste, Aktionen mit Live-Log (SSE),
Restore-Wizard, Rollen-Diff, Logs, Konfiguration, Audit. - OIDC gegen authentik mit PKCE; die Anwendung validiert das Token selbst.
- Rollen
viewer,operator,adminüber den Gruppen-Claim. Kein passender
Claim heißt: kein Zugang. - Maschinenzugriff über Client Credentials,
/api/v1/status?format=prometheus. - Globaler Read-only-Modus, der auch Admins sperrt.
Betrieb
install.sh(idempotent,--agent/--hub/--both,--wheelsfür Hosts
ohne Internet) unduninstall.sh.restore-drill.sh: Probelauf gegen eine Wegwerf-Instanz mit Owner- und
ACL-Vergleich,--archive-mode=offfest verdrahtet.- Ansible-Rollen
walross_agentundwalross_hubsamt Playbooks. - 135 Tests: Rollen-Extraktion, Autorisierung (jeder schreibende Endpoint mit
viewer→ 403) und Kommandoerzeugung.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Kommentierte