QA-Durchgang: pycache entfernt, Aufraeumen eingegrenzt, Doku zu Admin-Rolle und Pruefer
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
44608ff71f
commit
4d6acd19aa
6 files changed
+4
-5
No files matched your search
@@ -5,3 +5,4 @@ web/*/.next/
|
||||
web/*/next-env.d.ts
|
||||
web/*/tsconfig.tsbuildinfo
|
||||
web/pdf-viewer/public/pdf.worker.min.mjs
|
||||
__pycache__/
|
||||
@@ -12,7 +12,7 @@ Aus dem Code abgeleitet (`cmd/app`, `cmd/worker`, `cmd/migrate`, `internal/route
|
||||
| `NEXARCH_DMS_APP_ROUTE_PREFIX` | `/api/dms/v1` | Präfix aller fachlichen Routen (FDN-14); `/healthz` und `/metrics` bleiben außerhalb |
|
||||
| `NEXARCH_DMS_APP_TENANT_DSN` | Pflicht für Fachfunktionen | Tenant-Datenbank; ohne sie: keine API-Routen, kein Guard, keine Retention-Anbindung, keine Suche |
|
||||
| `NEXARCH_DMS_APP_TENANT_SLUG` | Pflicht | Mandantenkennung |
|
||||
| `NEXARCH_DMS_APP_ADMIN_USER_IDS` | leer | Kommagetrennte Nutzer-IDs mit Admin-Rechten im Guard |
|
||||
| `NEXARCH_DMS_APP_ADMIN_USER_IDS` | leer | Kommagetrennte Nutzer-IDs mit Admin-Rechten im Guard. Im Token-Modus gilt zusätzlich die Rolle `tenant_admin` im verifizierten Modul-Token als Admin (die Rechteentscheidung von Core wird trotzdem erzwungen) |
|
||||
| `NEXARCH_DMS_APP_CORE_JWKS_URL` | Pflicht (oder Übergangsschalter) | JWKS-Endpunkt von Core; Bearer-Token werden lokal gegen diesen Schlüsselsatz geprüft (INT-01, `docs/API.md`). Ohne sie und ohne Übergangsschalter startet dms-app mit DSN nicht |
|
||||
| `NEXARCH_DMS_APP_JWKS_TTL_SECONDS` | 300 | Cache-Dauer des Schlüsselsatzes; bei Core-Ausfall gilt der letzte bekannte Satz weiter |
|
||||
| `NEXARCH_DMS_APP_ALLOW_CALLER_IDENTITY` | `false` | Übergang: `true` lässt Anfragen ohne Token mit `caller`-Parameter als Identität zu (nicht authentifiziert, nur Entwicklung) |
|
||||
@@ -22,7 +22,7 @@ Aus dem Code abgeleitet (`cmd/app`, `cmd/worker`, `cmd/migrate`, `internal/route
|
||||
| `NEXARCH_DMS_APP_DOWNLOAD_SIGNING_SECRET` | Pflicht bei DSN | Schlüssel für Download-URLs (Secret) |
|
||||
| `NEXARCH_DMS_APP_DOWNLOAD_URL_TTL_SECONDS` | 300 | Gültigkeit signierter Download-URLs |
|
||||
| `NEXARCH_DMS_APP_TRASH_RETENTION_SECONDS` | 2592000 (30 Tage) | Papierkorb-Frist |
|
||||
| `NEXARCH_DMS_APP_AUDITOR_USER_IDS` | leer | Nutzer-IDs mit Zugriff auf `/audit-log` |
|
||||
| `NEXARCH_DMS_APP_AUDITOR_USER_IDS` | leer | Nutzer-IDs mit Zugriff auf `/audit-log`. Bewusst getrennt von Admin (Aufgabentrennung): auch ein `tenant_admin` mit dem Recht `dms.audit.read` braucht hier einen Eintrag |
|
||||
| `NEXARCH_DMS_APP_STORAGE_DIR` | Pflicht | Lokales Storage-Verzeichnis |
|
||||
| `NEXARCH_DMS_APP_STORAGE_SIGNING_SECRET` | Pflicht | Schlüssel für signierte URLs (Secret) |
|
||||
| `NEXARCH_DMS_APP_STORAGE_PUBLIC_BASE_URL` | Pflicht | Basis-URL signierter Links |
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -62,7 +62,6 @@ CORE_EMAIL = {}
|
||||
|
||||
def core_module_token(account, email):
|
||||
"""Login am echten Core-Kontodienst und Modul-Token per POST /auth/module-token (nur fuer Modus core)."""
|
||||
st, _ = 0, None
|
||||
req = urllib.request.Request(account + "/auth/login", data=json.dumps({"email": email, "password": CORE_PASSWORD}).encode(),
|
||||
method="POST", headers={"Content-Type": "application/json"})
|
||||
with urllib.request.urlopen(req, timeout=30) as r:
|
||||
|
||||
@@ -52,12 +52,11 @@ snapshot /tmp/gesamt-smoke-vorher.txt
|
||||
mkdir -p "$BASE"/{bin,env,data/storage,data/staging,log,corpus,gocache,gopath,results}
|
||||
finish() {
|
||||
[ "${GESAMT_KEEP:-}" = 1 ] && return
|
||||
cp "$RES"/*.txt /tmp/ 2>/dev/null
|
||||
teardown
|
||||
snapshot /tmp/gesamt-smoke-nachher.txt
|
||||
echo; echo "=== Rueckbau: Vorher-/Nachher-Snapshot (Diff; leer = identisch)"
|
||||
diff /tmp/gesamt-smoke-vorher.txt /tmp/gesamt-smoke-nachher.txt && echo "IDENTISCH"
|
||||
rm -f /tmp/gesamt-smoke-vorher.txt /tmp/gesamt-smoke-nachher.txt /tmp/[0-9][0-9]-*.txt
|
||||
rm -f /tmp/gesamt-smoke-vorher.txt /tmp/gesamt-smoke-nachher.txt
|
||||
}
|
||||
trap finish EXIT
|
||||
|
||||
|
||||
Reference in new issue
Block a user