feat(verzeichnis): LDAP-Abgleich, Zeitplan, CSV-Import und Log
Quelle anlegen, Verbindung testen, nach Zeitplan oder auf Knopfdruck abgleichen. Gelesen wird seitenweise mit searchPaginated, objectGUID kommt als Puffer und wird gemischt-endian zur GUID umsortiert. Wer im Verzeichnis verschwindet, wird hier inaktiv und nie geloescht. Drei Regeln verhindern, dass eine kaputte Eingabe wie "alle sind gegangen" aussieht: laesst sich kein einziger Eintrag zuordnen, wird niemand deaktiviert; uebersprungene Eintraege werden am dn erkannt und ausgenommen; eine von Hand angelegte Person wird uebernommen statt verdoppelt. Der Zeitplan laeuft ueber node-cron im selben Prozess, gestartet aus src/instrumentation.ts, und nimmt keine eigene Sperre - die liegt in der Datenbank, damit zwei Instanzen sich einig sind. Closes #16 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
ab5777a57e
commit
16059e7846
@@ -68,6 +68,9 @@ services:
|
||||
OIDC_GROUP_TECHNICIAN: ${OIDC_GROUP_TECHNICIAN:-}
|
||||
OIDC_GROUP_VIEWER: ${OIDC_GROUP_VIEWER:-}
|
||||
OIDC_CUSTOMER_GROUP_PREFIX: ${OIDC_CUSTOMER_GROUP_PREFIX:-}
|
||||
# Der Verzeichnis-Abgleich laeuft im selben Prozess (#016). Hier steht er
|
||||
# an, weil dieser Dienst der einzige ist, der dauerhaft laeuft.
|
||||
ZEITPLAN_AKTIV: ${ZEITPLAN_AKTIV:-true}
|
||||
# Standardmaessig nur auf localhost; davor gehoert ein Reverse Proxy.
|
||||
ports:
|
||||
- "${BIND_ADDR:-127.0.0.1}:${APP_PORT:-3000}:3000"
|
||||
|
||||
Reference in New Issue
Block a user