Files
nexarch/archive/docs/RET-09-PRUEFPROTOKOLL.md
T
sysops eddb6da4a6 RET-09: modul-adapter-dienst-starten
- archive/cmd/moduleadapter-api: startet den fertigen RET-05
  RegisterHandler als eigenstaendigen HTTP-Dienst, Port 8095
- reines Wiring, kein Diff an internal/moduleadapter/ (verifiziert)
- real deployed auf 131, end-zu-ende per curl: Registrierung +
  Idempotenz-Nachweis (widerspruechliche zweite Werte werden ignoriert,
  urspruengliche Registrierung bleibt bestehen)

Pruefungen siehe archive/docs/RET-09-PRUEFPROTOKOLL.md
2026-08-30 09:27:51 +02:00

58 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RET-09 Prüfprotokoll: Modul-Adapter-Dienst starten (RET-05 als laufender HTTP-Endpunkt)
Voraussetzung RET-05 bereits Fertig, hier UNVERÄNDERT.
## Reines Wiring, keine neue Logik
`git diff --stat archive/internal/moduleadapter/` liefert KEINEN Diff —
`moduleadapter.go`/`handler.go` sind byteidentisch zum RET-05-Stand.
RET-09 fügt ausschließlich `cmd/moduleadapter-api/main.go` (startet
`RegisterHandler` auf einem Port) und die systemd-Einheit hinzu.
Gleiches Muster wie RBAC-06/CFG-05, aber kleiner: kein neuer
Auth-Mechanismus (RET-05s eigene AC verlangte keinen), kein neuer
Vertrag, nur Betrieb des bereits Fertigen.
## Umsetzung
- `archive/cmd/moduleadapter-api/main.go` eigenständiger HTTP-Dienst,
Port 8095.
- `deploy/systemd/nexarch-archive-moduleadapter-api.service.tmpl`.
## Prüfungen
| # | Prüfung | Ergebnis |
|---|---|---|
| 1 | Dienst startet und bleibt stabil (systemctl status aktiv) | **bestanden** real auf 131: `nexarch-archive-moduleadapter-api.service` aktiv, `Restart=on-failure` |
| 2 | Realer POST /register von einem externen Testclient liefert die erwartete Registrierung (idempotent, wie in RET-05 getestet) | **bestanden** real per `curl`: erste Registrierung liefert neue ID mit übergebenen Werten (HTTP 200); zweiter Aufruf mit ABWEICHENDEN Werten (anderer `retention_class`/`callback_url`) liefert DIESELBE ID mit den URSPRÜNGLICHEN Werten unverändert zurück — RET-05s Idempotenz-/Überschreibschutz real über den laufenden Dienst bestätigt, Testdaten anschließend entfernt |
| 3 | Code-Review: keine Änderung an moduleadapter.go/handler.go selbst, nur main.go+systemd neu | **bestanden** `git diff --stat archive/internal/moduleadapter/` liefert leeren Diff gegenüber dem RET-05-Stand |
## Echte Verdrahtung auf 192.168.1.131
- `moduleadapter-api` gebaut nach `/opt/nexarch-archive/bin/`
- `/etc/nexarch/archive-moduleadapter-api.env` (0600)
- `nexarch-archive-moduleadapter-api.service` installiert/aktiviert
(dauerhaft, `Restart=on-failure`)
- End-zu-Ende-Nachweis: `curl POST /register` zweimal mit
widersprüchlichen Werten beim zweiten Aufruf, beide Male HTTP 200,
zweite Antwort bestätigt die erste (Idempotenz), Testzeile
anschließend entfernt.
## Build/Test-Ergebnis (192.168.1.131)
```
go build ./... -> clean
go vet ./... -> clean
golangci-lint run ./cmd/moduleadapter-api/... -> 0 issues
```
Keine neuen Go-Tests nötig (kein neuer Code außer main.go, das nur
verdrahtet) die eigentliche Logik ist bereits durch RET-05s eigene
Tests abgedeckt.
## Gesamtergebnis
**Bestanden.** RET-05 ist jetzt ein real laufender, über systemd
verwalteter Dienst. DOC-16 und ARC-11 können sich jetzt gegen einen
echten Test-RET-05-Endpunkt verdrahten, statt gegen unverdrahteten
Go-Code oder einen reinen In-Process-Mock zu testen.