1.5 KiB
1.5 KiB
MPM – Module
Dieses Verzeichnis enthält ab Phase 3 die installierbaren Module der Plattform (z. B. das Referenzmodul Kalender).
Modul-Vertrag (Ausblick)
Jedes Modul ist eine eigenständige Applikation mit:
- eigenständiger Oberfläche, Business-Logik, API und Datenbank-Schema
- einem Manifest
module.json - einem minimalen API-Vertrag
Manifest
{
"id": "calendar",
"name": "Kalender",
"version": "1.0.0",
"slug": "kalender-tool",
"description": "Kalenderverwaltung",
"author": "…",
"runtime": "node",
"entrypoint": "server.js",
"port": 41001,
"healthcheck": "/health",
"apiVersion": "v1"
}
Minimal-API je Modul
| Methode | Pfad | Beschreibung |
|---|---|---|
| GET | /health |
Liveness/Readiness |
| GET | /api/manifest |
Manifest zur Laufzeit |
| GET | /api/me |
Aktueller Benutzer (von der Plattform übergeben) |
Paketstruktur (ZIP-Installation)
calendar-module/
├── module.json
├── backend/
├── frontend/
├── migrations/
├── assets/
└── README.md
Grundsätze
- Module laufen als interne Prozesse im Management-Container (kein Docker-in-Docker) auf eigenen Ports (41001+), die nie nach außen veröffentlicht werden.
- Module sind nicht vertrauenswürdig und erhalten nur minimal benötigte Rechte.
- Ein Modul darf niemals in fremde Schemas schreiben; jedes Modul erhält ein eigenes PostgreSQL-Schema.
- Entfernt ein Admin ein Modul, müssen alle übrigen Plattformfunktionen unverändert weiterlaufen.