Zeus-Fassung der Backends auf vorren (öffentlich lesbar, ENTSCHEIDUNG-84)
  • TypeScript 80.1%
  • JavaScript 19.9%
Find a file
Tim Haag 8e9cbf2619 vorren 1.0.0
Zeus-Fassung der Backends auf vorren (README.md).

Werkbank-Commit: 18c2946b6ff40fbf04faa8e63f8dd1ad75f89bb6
2026-10-22 20:56:02 +02:00
backend vorren 1.0.0 2026-10-22 20:56:02 +02:00
runtime vorren 8.0.2-vorren.1 2026-10-22 18:16:11 +02:00
types vorren 1.0.0 2026-10-22 20:56:02 +02:00
LICENSE vorren 8.0.2-vorren.1 2026-10-22 18:16:11 +02:00
README.md vorren 1.0.0 2026-10-22 20:56:02 +02:00

Zeus für die Backends auf vorren

Diese Fassung von Zeus läuft in den Backends der Projekte der Art zeus auf vorren (vorren docs/04 „Die Zeus-Fassung von vorren“, ENTSCHEIDUNG-83). Sie ist abgeleitet von Zeus 8.0.2 und seitdem ein eigenes Projekt (ENTSCHEIDUNG-115): nur der Kern, CRUD, eigene Routen, Konten, Cron und Socket, ohne Provider für AWS, Google, PDF und Ähnliches, ohne Sicherung nach S3. vorren selbst läuft weiter auf @think-internet/zeus aus der privaten Registry.

Öffentlich lesbar in https://git.vorren.de/vorren-runtime/zeus (ENTSCHEIDUNG-84, Tim 22.10.2026), damit der Build jedes Projekts sie ohne Zugangsdaten holen kann. Das Dockerfile, das vorren in jedes Projekt schreibt, holt sie über einen festen Commit:

ADD https://git.vorren.de/vorren-runtime/zeus.git#<voller Commit> /opt/zeus-src

Nutzung nur dafür, siehe LICENSE.

Aufbau

backend/ Zeus, abgespeckt. Paketname @think-internet/zeus, eigene Version X.Y.Z (ab 1.0.0)
runtime/vorren-run.js Startprozess: startet Zeus, gibt die Ausgabe weiter und schickt sie an vorren (ENTSCHEIDUNG-81), entfernt VORREN_* aus der Umgebung von Zeus
runtime/healthcheck.js Healthcheck des Containers (GET /health)
runtime/vorren-run.test.js Test des Startprozesses (node --test runtime/vorren-run.test.js)

Versionen

Öffentlich ist je Version ein Commit mit dem fertigen Stand. Sein Vorgänger ist die vorige Version, die Geschichte von Zeus kommt nicht mit (ENTSCHEIDUNG-89). Zu jeder Version gibt es den Tag v<Version>. Ein Tag ändert sich nie. Die Builds nehmen ohnehin den Commit, nicht den Tag. Nummern nach SemVer ab 1.0.0 (ENTSCHEIDUNG-116): 1.0.1 Fehlerbehebung, 1.1.0 Neues, 2.0.0 eine Änderung, auf die sich die Agenten der Nutzer verlassen.

Version Inhalt
1.0.0 erste eigene Nummer (ENTSCHEIDUNG-116): Code wie 8.0.2-vorren.1, dazu die Typen des Gerüsts in types/zeus-types.json (ENTSCHEIDUNG-113) und diese Anleitung
8.0.2-vorren.1 erste Fassung, abgeleitet von Zeus 8.0.2 (35f7837), letzte mit der alten Nummer

Was gegenüber Zeus 8.0.2 anders ist

  • Entfernt:
    • die Provider AWS (S3, SES-Mail, SNS, IAM), GOOGLE, PDF, IMAGE, ZIP, CSV, HTML, TEMPLATE, FETCH samt Typen und Enum-Werten;
    • helper/providers/lazy.ts und config/ (ZEUS_PROVIDERS);
    • die Sicherung nach S3 und backupIntervalCronExpression, die Fehlermeldung nach Slack;
    • die Tests dieser Teile und die SNS-Routen der Prüfplattform.
  • Geändert:
    • backend/package.json: Name bleibt, Version wie oben, nur Kern-Abhängigkeiten, Lockfile nur aus registry.npmjs.org;
    • backend/test/helpers/harness.js: mit TEST_MONGO_URL ist kein mongod nötig.
    • Abweichungen im Code tragen den Kommentar vorren:.
  • Neu: runtime/ (oben).
  • Drin bleibt:
    • Kern (Start, Express-Server, Plattform-Dateien), CRUD, eigene Routen, Uploads, Rate-Limits;
    • Konten mit JWT, Refresh-Tokens und Zwei-Faktor, Rollen und Levels;
    • Cron (ZEUS_MODE), Socket.IO, pre_query_hook;
    • die Provider des Kerns: CRUD, FUNCTIONAL, AUTH, DATABASE_MODEL, CONTEXT, PLATFORM, SOCKET, CRON.

Pflege (bei think internet)

Gearbeitet wird in der privaten Werkbank auf dem Zweig main. Den öffentlichen Commit legt npm run zeus:release -- <Version> in vorren an (lokaler Zweig public), Anleitung in AGENTS.md der Werkbank.

Prüfen vor einer Version:

cd backend && npm ci && TEST_MONGO_URL=mongodb://127.0.0.1:27017 npm test   # Zeus-Tests gegen eine MongoDB
node --test runtime/vorren-run.test.js                                        # Startprozess

Schritte am Server: vorren deploy/RUNBOOK.md „Zeus-Fassung in Forgejo“.