Manifestbasierter Production-Updater 3.3, Modulnavigation, optionales Produktbild Studio, Listing-Studio-Aktionsleiste sowie plattformübergreifende Windows-/Linux-Release-Gates.
124 lines
5.1 KiB
Markdown
124 lines
5.1 KiB
Markdown
# Abnahmebericht – Vendoo 1.42.0
|
||
|
||
## Ergebnis
|
||
|
||
**Technische Paketabnahme bestanden.**
|
||
|
||
Version: `1.42.0`
|
||
Slice: `Production Operations & Controlled Update Completion`
|
||
Ausgangsbasis: Vendoo `1.41.2`
|
||
|
||
Ein produktives Deployment auf `vendoo.flatlined.de` wurde bei dieser Paketabnahme bewusst **nicht** ausgelöst. Der neue `UPDATE_VENDOO.bat`-Assistent automatisiert Review-Gates, Pull Request, Merge, Coolify-Trigger und die Prüfung von `/readyz` auf exakt Version `1.42.0`.
|
||
|
||
## Vollständiges Release-Gate
|
||
|
||
Der unveränderte Paketbefehl wurde als zusammenhängender Lauf ausgeführt:
|
||
|
||
```bash
|
||
npm run verify:all
|
||
```
|
||
|
||
Ergebnis: **Exit-Code 0**.
|
||
|
||
Abgedeckt wurden unter anderem:
|
||
|
||
- Basis-Release vor Ein-Klick-Erweiterung: vollständiges `npm run verify:all` mit Exit-Code 0
|
||
- aktuelles Git- und Secret-Gate: 560 Dateien, keine Laufzeitdaten oder Secrets
|
||
- aktuelle Syntaxprüfung: 160 JavaScript-/MJS-/CJS-Dateien
|
||
- ESM-Exportverträge der unveränderten Vendoo-Laufzeit: 159 produktive Quelldateien
|
||
- Capability-Graph: 17 Module und 40 Capabilities
|
||
- FLUX-Lifecycle und initial deaktivierter Zustand
|
||
- Plattformarchitektur: 17 Module, 15 native Module, 2 Legacy-Bridges
|
||
- Theme-System: 42 Tokens
|
||
- Security Foundation, Secret-Migration, CSP, Request- und Correlation-IDs
|
||
- Identity, Rollen, Sitzungen und letzter-Admin-Schutz
|
||
- kontrollierte Einladungen: Leser-Standardrolle, 48 Stunden, Einmalgültigkeit, erneutes Senden und Widerruf
|
||
- Katalog, Mediengrenzen, Locking, Papierkorb und Bulk-Limits
|
||
- Modulmanager und `.vmod`-Verträge
|
||
- Deployment-State-Machine, Idempotenz, Backup-Gate, Coolify-Status, Zielversionsprüfung und Rollback-Sperre
|
||
- Konfigurationsspeicher und Shell-Installer
|
||
- frische und bestehende Datenbankmigrationen
|
||
|
||
|
||
## Ein-Klick-Updater-Abnahme
|
||
|
||
Zusätzlich zur bereits vollständig geprüften Vendoo-Laufzeit wurden nach Einbau des Updaters erfolgreich ausgeführt:
|
||
|
||
- `node tools/verify-one-click-updater-1.42.0.mjs`
|
||
- `node tools/check-syntax.mjs`
|
||
- `node tools/verify-git-safety.mjs`
|
||
- `node tools/verify-git-safety-regression.mjs`
|
||
- `node tools/verify-git-staging.mjs`
|
||
- `node tools/verify-source-boundaries-1.41.2.mjs`
|
||
- `node tools/verify-git-ignore-boundaries-1.41.2.mjs`
|
||
- reales Paket-Staging mit enthaltenem Updater und Workflow sowie ausgeschlossenem `logs`-Ordner
|
||
|
||
Die Ein-Klick-Erweiterung verändert keine Server-, Datenbank- oder Modul-Laufzeitlogik. Der Updater führt auf dem Zielrechner vor jedem Push erneut `npm ci` und den vollständigen Befehl `npm run verify:all` aus. Schlägt ein Gate fehl, erfolgt weder Merge noch Coolify-Deployment.
|
||
|
||
## Datenbankabnahme
|
||
|
||
Die neue Migration ist ausschließlich additiv. Neu:
|
||
|
||
- `deployment_runs`
|
||
- `deployment_events`
|
||
- `backup_verifications`
|
||
- `production_checks`
|
||
|
||
Die SQLite-Prüfung bestätigte:
|
||
|
||
- Tabellen erfolgreich anlegbar
|
||
- Fremdschlüssel ohne Fehler
|
||
- `PRAGMA integrity_check = ok`
|
||
- vorhandene Testzeile bleibt bei Migration erhalten
|
||
- keine Reset-, Drop- oder Löschmigration für bestehende Produktivdaten
|
||
|
||
## Isolierter Laufzeittest
|
||
|
||
Vendoo wurde mit einem temporären, leeren Datenverzeichnis und Port `18142` gestartet.
|
||
|
||
Ergebnis:
|
||
|
||
- Serverstart erfolgreich
|
||
- `GET /healthz` → HTTP 200
|
||
- gemeldete Version → `1.42.0`
|
||
- `GET /readyz` → HTTP 200 und `ok: true`
|
||
- SQLite → bereit
|
||
- alle erforderlichen Schreibpfade → beschreibbar
|
||
- Platform Kernel → `running`
|
||
- geladene Module → 17
|
||
- geordneter Shutdown → erfolgreich
|
||
|
||
Der temporäre Laufzeitstand wurde anschließend entfernt. Er ist nicht Bestandteil des Release-Pakets.
|
||
|
||
## Sicherheits- und Datenabgrenzung
|
||
|
||
Nicht im Release-Paket enthalten:
|
||
|
||
- `.env`
|
||
- `db/vendoo.db`, `-wal`, `-shm`
|
||
- Uploads und Backups
|
||
- Logs und Operationsdaten
|
||
- `master.key` oder verschlüsselter Secret Store
|
||
- Coolify-, GitHub-, Mail-, KI- oder Plattform-API-Schlüssel
|
||
- `node_modules`
|
||
- lokal erzeugte FLUX-Token
|
||
|
||
Vendoo führt im Produktivcontainer weiterhin weder `git pull`, `npm install`, Docker-Kommandos noch Docker-Socket-Zugriffe aus. Build, Containerwechsel und Rollback bleiben Aufgabe von Coolify.
|
||
|
||
## Noch notwendige Produktionsabnahme
|
||
|
||
Der Updater bestätigt automatisch `/readyz`, Zielversion und `/healthz`. Nach dem ersten Produktivlauf sollten zusätzlich in Vendoo kontrolliert werden:
|
||
|
||
1. `/readyz` meldet HTTP 200 und Version `1.42.0`.
|
||
2. Bestehende Benutzer, Artikel, Uploads und Einstellungen sind unverändert vorhanden.
|
||
3. Das Volume ist weiterhin exakt nach `/app/data` gemountet.
|
||
4. FLUX Studio bleibt deaktiviert.
|
||
5. Produktionscheck zeigt keine Fehler.
|
||
6. Ein Testbackup wird erstellt und als verifiziert angezeigt.
|
||
7. Ein kontrollierter Deployment-Auftrag zeigt vollständige Events und endet erst nach bestätigtem Coolify-Abschluss, erfolgreichem `/readyz` und passender Zielversion mit `succeeded`.
|
||
8. Ein Fehlerfall bleibt als `rollback_required` gesperrt, bis ein Administrator die Prüfung mit `CONFIRM` dokumentiert abschließt.
|
||
|
||
## Freigabegrenze
|
||
|
||
Das Paket ist für das automatisierte Ein-Klick-Verfahren freigegeben. Der Assistent führt die lokalen Gates aus, wartet auf vorhandene GitHub-Checks, mergt erst danach und startet anschließend den kontrollierten Produktionsworkflow.
|