• v1.0.0-rc6 698f3a17d9

    V1 Release Candidate 6 — vollständige Verwaltungskonsole
    Some checks failed
    CI / Backend (Go) (push) Failing after 31s
    CI / Frontend (React/TypeScript) (push) Successful in 44s
    CI / Sicherheitsprüfungen (push) Successful in 27s
    Pre-Release

    jf released this 2026-08-18 12:05:15 +00:00 | 8 commits to main since this release

    Die Weboberfläche ist eine vollständige Verwaltungskonsole geworden.

    Vorher erreichte sie 23 von 95 fachlichen Endpunkten; schreibend waren es neun, vier davon An- und Abmeldung. Real verwaltbar war: einen Auftrag anlegen, einen Bericht erzeugen, eine Meldung bestätigen. Das war ein Leseinstrument mit Assistent, keine Konsole.

    Jetzt sind es 89 von 95.

    Neu bedienbar

    • Wiederherstellung als vierstufiger Assistent — vorher nur über curl. Die Vorabprüfung ist ein eigener Schritt, weil sie den Unterschied zwischen Hoffnung und Nachweis macht: Sie schreibt nichts und stellt fest, ob jeder benötigte Block noch da ist. Ein Manifest allein belegt nur, dass jemand einmal etwas gesichert hat.
    • Wiederherstellungspunkte mit Bewertung, Legal Hold, Fristverlängerung, Löschung und Ransomware-Einschätzung.
    • Prüfung mit allen fünf Prüfarten. Zustand und Ergebnis stehen nebeneinander: Eine gescheiterte Prüfung ist kein Befund am Backup.
    • Repositories mit Integritätslauf, Katalog-Neuaufbau, Gesundheitsprüfung und gemessener Durchsetzungsstufe.
    • Aufbewahrung mit Regeln und Vorschau vor dem Löschen.
    • Proxmox — neun Endpunkte, die vorher gar keine Oberfläche hatten — und Agenten samt einmaliger Anzeige des Aufnahme-Tokens.
    • Benutzer, Rollen, Benachrichtigungswege, eigener zweiter Faktor.

    Neues Design

    Tailwind v4 und Radix-Primitive nach shadcn-Muster, alles gebündelt (keine externen Ressourcen — die CSP lässt sie ohnehin nicht zu). Dark Mode, einklappbare Seitenleiste, Bedienung auf Tablets. Achtzehn Seiten in fünf Bereichen.

    Die tragende Entscheidung ist keine Frage des Aussehens: Die Zuordnung der Fachbegriffe auf die fünf Statusfarben liegt an genau einer Stelle. Verteilt über die Seiten erschiene früher oder später irgendwo partial_failure grün — und ein Betreiber hält einen Teilfehler dann für einen Erfolg. Ein unbekannter Serverzustand wird neutral dargestellt, niemals grün.

    Die drei Hürden vor dem Überschreiben

    Der Wiederherstellungs-Assistent setzt sie sichtbar um: das Kennzeichen, die eigene Berechtigung restores.overwrite (nicht in restores.execute enthalten) und der wörtlich wiederholte Zielpfad. Läuft die dritte ins Leere, weil das Ziel leer ist, entfällt sie — ein Ritual ohne Anlass gewöhnt das Wegklicken an.

    Funde beim Nachweis

    • Die Einstufung heißt successful, nicht unverified. Das ist die gefährlichste Stelle der Oberfläche: successful bedeutet „der Lauf ist durchgelaufen" — nicht „wiederherstellbar". Es ist deshalb neutral, nicht grün. Regressionstest, durch Mutation als fangend bestätigt.
    • describeApiError warf die genauere Servermeldung weg. Ein SERVICE_UNAVAILABLE mit „Für diesen Bericht ist keine Sicherheitsprüfung eingerichtet" wurde zu „Der Dienst ist derzeit nicht vollständig verfügbar" — der Betreiber hätte den Fehler bei seiner Anlage gesucht statt bei der Einrichtung dieses einen Berichts. Jetzt hat die Servermeldung Vorrang.
    • Einem Fehler nach einer Handlung fehlte role="alert". Ein Screenreader hätte ihn nicht angesagt.
    • Der Geheimnis-Scanner griff korrekt beim Platzhaltertext des SSH-Schlüsselfelds. Gekennzeichnet, statt das Muster aufzuweichen.

    Aufgeräumt

    Ein Stylesheet statt sieben; das ausgelieferte CSS fällt von 54 auf 30 KB. Entfernt, weil ersetzt: JobsPanel, StatusIndicator, PageState.

    Nachgewiesen

    Gegen Debian 12 mit echtem PostgreSQL und nginx, über genau die Aufrufe, die die Konsole macht: Repository übernommen, Durchsetzungsstufe gemessen (advisory — auf overlayfs richtig), Auftrag angelegt, Lauf 202, zweiter Anstoß 409, Sicherung erfolgreich (3.000.006 Byte, 0 übergangen), Blockprüfung clean, Vorabprüfung „wiederherstellbar: 2 Dateien, 2,9 MiB", Wiederherstellung nach /etc abgewiesen. Alle 18 Seiten liefern über HTTPS 200.

    76 Tests grün, tsc sauber, eslint ohne Warnung.

    Aktualisieren

    sudo /opt/syncova/update.sh
    

    Es sichert zuerst Datenbank und Konfiguration, hält den Dienst an, tauscht die Programme, migriert und startet. Kommt der Dienst nicht hoch, holt es die vorige Fassung zurück. Repository und Verschlüsselungsschlüssel werden nie angefasst.


    Unverändert offen: Windows-Dienst, systemd-Einheit des Agenten und der Proxmox-Bootmeilenstein sind gebaut, aber nie auf echter Hardware gefahren. Dazu ohne Oberfläche: sechs Detail-Endpunkte (ihre Daten stehen in den Listen), Live-Fortschritt (/api/v1/events/stream ist auch serverseitig nicht umgesetzt) und der Simple Mode.

    Downloads