Manifestbasierter Production-Updater 3.3, Modulnavigation, optionales Produktbild Studio, Listing-Studio-Aktionsleiste sowie plattformübergreifende Windows-/Linux-Release-Gates.
2.2 KiB
2.2 KiB
Abnahmebericht – Vendoo Production Updater 3.2
Anlass
Die Updater-2.x-Reihe verwendete eine destruktive Kopierstrategie: Die geklonte Git-Arbeitskopie wurde geleert und anschließend über Ausschlussregeln aus dem Paket neu befüllt. Dadurch konnten Quell- und Laufzeitdaten nicht zuverlässig unterschieden werden. Der konkrete Fehler war das fehlende db/schema.sql im Auslieferungspaket beziehungsweise in der vorbereiteten Arbeitskopie.
Architekturkorrektur
Updater 3.2 ersetzt diesen Mechanismus vollständig:
- keine Leerung der geklonten Baseline,
- SHA-256-Manifest aller Release-Dateien,
- Pflichtdateien werden vor jedem Test geprüft,
- Overlay statt Vollersetzung,
- Löschungen ausschließlich explizit über
removedFiles, - Hashprüfung vor und nach jedem Kopiervorgang,
- Sitzungen aus 2.x werden verworfen,
- separater v3-Release-Branch,
- vollständiger Windows-Releasevertrag in GitHub Actions.
Pflichtdateien
Der Release wird unter anderem blockiert, wenn eine dieser Dateien fehlt:
db/schema.sqllib/db.mjsserver.mjsbootstrap.mjspackage.jsonpackage-lock.json- Updater Preflight, UI, Host und Worker
Prüfungen
- Release-Manifest-Gate mit Manipulations- und Missing-File-Test
- reales Overlay des vollständigen Release-Manifests auf eine Git-Baseline
- Baseline-Erhalt ohne nicht deklarierte Löschungen
- vollständige Vendoo-Gates in getrennten Blöcken
- Datenbankmigrationen
- SQLite-Handle-Cleanup
- Module, Capabilities, Security, Identity, Katalog und Production Operations
- Windows-PowerShell-Parservertrag
- Windows-CI mit vollständigem
npm run verify:all - manifestbasierter GitHub-Release-Builder
Sicherheitsgrenze
Der Updater verändert main, Coolify und die Produktionsinstanz erst nach grünen lokalen Tests und grünen GitHub-Checks. /app/data, Datenbanken, Uploads, Secrets und Backups sind nicht Bestandteil des Release-Manifests.
Korrektur 3.2
release-manifest.jsonwird nach dem Payload als eigene Steuerdatei kopiert und bytegenau geprüft.- Das Zielrepository darf unveränderte Baseline-Dateien enthalten; manifestierte Dateien bleiben vollständig hashverbindlich.
- Die Löschung der Steuerdatei über
removedFilesist verboten.