Commit Graph
33 Commits
Author SHA1 Message Date
patrick 68ee72615e Merge remote-tracking branch 'origin/integration/dms-gesamtstand' into integration/gesamtprojekt
# Conflicts:
#	DEVLOG.md
#	go.sum
2026-09-21 13:52:14 +02:00
patrick 0418c5f579 Merge remote-tracking branch 'origin/feature/qa-01-teststrategie-core' into integration/gesamtprojekt
# Conflicts:
#	DEVLOG.md
#	go.sum
2026-09-21 13:52:00 +02:00
patrickandClaude Sonnet 5 52b69e07d3 Integration: govulncheck im Gate zuerst ausfuehren (OOM auf 4-GB-Host)
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) 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 / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-20 23:05:15 +02:00
patrick 5a79fca72e Integration: Suchseiten-Tests (SRC-09) beruecksichtigen SavedSearches-Abruf
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 / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
2026-09-20 09:04:47 +02:00
patrick 7c949f1172 Merge remote-tracking branch 'origin/feature/src-02-dms-indexierungs-worker-synchronisierung' into integration/dms-gesamtstand
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
# Conflicts:
#	DEVLOG.md
#	dms/go.sum
#	dms/internal/trash/trash.go
#	dms/internal/trash/trash_test.go
#	dms/internal/trashapi/handler.go
#	dms/internal/upload/service.go
2026-09-20 00:21:44 +02:00
patrick 5c4363011f Merge remote-tracking branch 'origin/feature/doc-03-drag-and-drop-upload-oberflaeche' into feature/qa-03-pruefgate-dokumentenkern-dms
CI / Core-Modul (Build/Vet/Test) (push) Failing after 2s
CI / Web (pdf-viewer) (push) Failing after 37s
CI / Web (shl) (push) Failing after 20s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Failing after 2s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Successful in 2s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Failing after 21s
CI / Web (dms-browser) (push) Failing after 54s
# Conflicts:
#	DEVLOG.md
2026-09-19 01:50:08 +02:00
patrickandClaude Sonnet 5 2c58d59d59 DEVLOG: Sessionlog-Eintrag (Auto-Hook)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 14:21:05 +02:00
patrickandClaude Sonnet 5 ed7eaa9791 DEVLOG: Sessionlog-Eintrag (Auto-Hook)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 13:13:07 +02:00
patrickandClaude Sonnet 5 33da301823 DOC-03: pruefprotokoll, build-artefakte aus dms-upload entfernen
next-env.d.ts/tsconfig.tsbuildinfo sind generierte Next.js-Build-
Artefakte, wurden versehentlich mitcommittet (DOC-05/pdf-viewer trackt sie
ebenfalls nicht) - .gitignore entsprechend ergaenzt.

dms/docs/DOC-03-PRUEFPROTOKOLL.md dokumentiert alle drei Pflichtpruefungen
(Tastatur/Dateidialog, Netzabbruch, mobile Ansicht - alle real durchgefuehrt,
zwei davon gegen echten Chromium via Playwright) sowie die offene
Einschraenkung: Go-Build/-Test von dms/internal/uploadapi konnte mangels
Testhost-Zugriff in dieser Session nicht verifiziert werden.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 12:28:58 +02:00
patrickandClaude Sonnet 5 61dac85ff6 IAM-19: verschl-sselte-ablage-von-ldap-ad-bind-credentials
Speichert das LDAP-Bind-Passwort je Tenant ausschliesslich verschluesselt
mit dem Tenant-KEK aus API-10 (AES-256-GCM, kek.EncryptWithTenantKEK/
DecryptWithTenantKEK) statt in einem separaten Secret-Schema oder Klartext
(Keycloak-Antipattern bewusst vermieden). Neue Tabelle ldap_bind_config in
der Tenant-Datenbank (Migration 0009), neuer internal/ldapsync.ConfigStore
fuer Save/Get, rein additiv zu IAM-05 (Syncer/RoleMappingStore unveraendert).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QPsyieCYwvbUBsnN598SbP
2026-09-17 11:32:37 +02:00
sysops e39fb6f237 Merge branch 'feature/ops-06-automatisiertes-schwachstellen-scanning-supply-chain' into feature/qa-05-abnahme-compliance-pruefung-core
# Conflicts:
#	DEVLOG.md
#	go.sum
2026-08-29 17:08:37 +02:00
sysops 53af28d928 Merge branch 'feature/ops-05-alerting-bei-schwellwert-ueberschreitung' into feature/qa-05-abnahme-compliance-pruefung-core
# Conflicts:
#	DEVLOG.md
#	go.mod
#	go.sum
#	scripts/reset-test-env.sh
#	scripts/run-checks.sh
2026-08-29 17:06:55 +02:00
sysops 98944b1412 Merge branch 'feature/cfg-04-benachrichtigungs-einstellungen-oberflaeche' into feature/qa-09-barrierefreiheits-audit
# Conflicts:
#	DEVLOG.md
#	scripts/reset-test-env.sh
#	scripts/run-checks.sh
2026-08-29 10:01:48 +02:00
sysops 8a779531e1 Merge branch 'feature/rbac-05-rechte-administrationsoberflaeche' into feature/qa-09-barrierefreiheits-audit
# Conflicts:
#	DEVLOG.md
2026-08-29 09:58:58 +02:00
sysops 6d288732c6 Merge branch 'feature/ten-05-tenant-verwaltungsoberflaeche' into feature/qa-02-pruefgate-identitaet-mandanten
# Conflicts:
#	internal/tenant/registry.go
2026-08-29 00:09:28 +02:00
sysops 2147b4c7fd DEVLOG: Sessionlog-Eintrag (Auto-Hook) 2026-08-29 00:08:45 +02:00
sysops 55872c96da DEVLOG: Sessionlog-Eintrag (Auto-Hook) 2026-08-29 00:08:05 +02:00
sysops 5fcae51aac OPS-05: fix — go.mod auf go 1.25.0 (prometheus/client_golang benoetigt es), sql-typfehler in shouldFire (interval-multiplikation statt string-konkatenation) 2026-08-29 00:02:11 +02:00
sysops b1601c578a DEVLOG: Sessionlog-Eintrag (Auto-Hook) 2026-08-28 23:54:01 +02:00
sysops 81ff8c18c3 Merge branch 'feature/shl-01-ui-shell-design-system-zentral' into feature/cfg-04-benachrichtigungs-einstellungen-oberflaeche
# Conflicts:
#	DEVLOG.md
2026-08-28 23:48:23 +02:00
sysops e65625841c DEVLOG: Sessionlog-Eintrag (Auto-Hook) 2026-08-28 23:45:51 +02:00
sysops bd80f0cb16 Merge branch 'feature/shl-01-ui-shell-design-system-zentral' into feature/rbac-05-rechte-administrationsoberflaeche
# Conflicts:
#	DEVLOG.md
2026-08-28 23:41:36 +02:00
sysops bf8f905767 DEVLOG: Sessionlog-Eintrag (Auto-Hook)
Supply-Chain-Scan (Go) / govulncheck (push) Has been cancelled
2026-08-28 23:07:16 +02:00
sysops 9de84f6994 OPS-06: fix — fehlendes fail=1 im govulncheck-unavailable-zweig, govulncheck-version gepinnt statt @latest (Go-Versionskonflikt auf 131 gefunden) 2026-08-28 23:04:49 +02:00
sysops 77ecf42365 OPS-06: fix — verify-supply-chain-gate.sh unterscheidet jetzt echten Fund von Werkzeugfehler (pruefte vorher nur exit-code, 'command not found' galt faelschlich als bestanden) 2026-08-28 23:03:05 +02:00
sysops 34498c415a QA-01: go.sum ergaenzen (fehlte, go mod tidy auf Testhost verifiziert) 2026-08-28 22:43:57 +02:00
sysops 12b1978ae1 Merge branch 'feature/shl-01-ui-shell-design-system-zentral' into feature/ten-05-tenant-verwaltungsoberflaeche 2026-08-28 22:02:02 +02:00
sysops bfa5c61db5 SHL-01: fix — Test-Cleanup zwischen Dialog-Tests (afterEach(cleanup), sonst stapeln sich gerenderte DOM-Bäume) 2026-08-28 22:01:56 +02:00
sysops 49404c5fa4 Merge branch 'feature/shl-01-ui-shell-design-system-zentral' into feature/ten-05-tenant-verwaltungsoberflaeche
# Conflicts:
#	DEVLOG.md
2026-08-28 21:46:07 +02:00
sysops 584cefa388 DEVLOG: Sessionlog-Eintrag (Auto-Hook) 2026-08-28 21:45:55 +02:00
sysopsandClaude Sonnet 5 5915a4e7b1 TEN-02: tenant-onboarding-api-self-service
OnboardingService.Onboard: ein API-Aufruf legt Tenant (via bestehendem
Provisioner) UND ersten Administrator-Account (via IAM-01 TenantUserStore)
an. CREATE DATABASE erlaubt keine echte cross-database Transaktion, daher
Saga-Kompensation: schlaegt die Admin-Anlage nach erfolgreichem Provisioning
fehl, wird der Tenant per neuem Provisioner.Deprovision wieder vollstaendig
entfernt (Registry.Delete + DB-Drop).

Provisioner.Provision mappt Duplikat-Faelle (42P04 duplicate_database und
den bei echt parallelen CREATE DATABASE moeglichen 23505-Unique-Konflikt auf
pg_database) jetzt auf ErrTenantExists statt einer rohen Postgres-Fehlermeldung.

Pruefungen (ausgefuehrt auf root@192.168.1.131, go build/vet/test PASS):
1. Onboarding-Vorgang zweimal parallel mit gleichem Slug ausgeloest —
   TestOnboarding_RejectsDuplicateSlugConcurrently: genau ein Erfolg, kein
   Doppel-Tenant, zweiter Aufruf bekommt ErrTenantExists. PASS.
2. Fehleingaben (leere Pflichtfelder, ungueltige E-Mail, ungueltiger Slug) —
   TestOnboarding_ValidationErrors deckt alle vier Faelle mit klaren Fehlern
   ab, bevor irgendein DB-Zugriff stattfindet. PASS.
3. Erfolgreicher Durchlauf von zweiter Person end-to-end nachvollzogen —
   NICHT durchgefuehrt (keine zweite Person in dieser Session verfuegbar).
   Offen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 18:16:54 +02:00
sysopsandClaude Sonnet 5 8da9c67d08 TEN-01: tenant-registry-datenbank-provisioning
Registry-DB (nur Tenant-Metadaten), Provisioning-Routine legt pro Mandant
eine physisch isolierte Postgres-DB an und registriert sie transaktional
(Rollback der DB bei fehlgeschlagener Registrierung). Schlanker HTTP-Handler
als Schnittstellen-Vorbereitung fuer API-01/TEN-02, kein eigenes REST-Grundgerüst.

Pruefungen:
1. Migration up/down geschrieben (0001_tenant_registry.{up,down}.sql) — nicht
   gegen echte DB ausgefuehrt, da auf dieser Maschine kein Go/Postgres-Test-
   Setup verfuegbar ist. Offen zur Ausfuehrung.
2. Integrationstest TestProvision_CreatesIsolatedDatabases geschrieben (zwei
   Mandanten, prueft unterschiedliche db_name und current_database()) —
   ebenfalls nicht ausgefuehrt, guarded per TEST_ADMIN_DSN env var. Offen.
3. Slug-Validierung (unit test TestValidateSlug) deckt SQL-Injection-Versuch
   im Datenbanknamen ab — ebenfalls nicht lokal ausgefuehrt, da kein Go
   Compiler auf dieser Maschine vorhanden ist. Offen.

Alle drei Pruefungen sind vorbereitet, aber NICHT durchgefuehrt worden —
zaehlen laut Vorgabe als offen bis auf einer Maschine mit Go+Postgres verifiziert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 17:40:35 +02:00
sysops c895a67c4b core: initial Go module skeleton (config, db pool, tenant registry migration) 2026-08-27 17:27:59 +02:00