Files
mpm/modules

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.