feat(verzeichnis): LDAP-Abgleich, Zeitplan, CSV-Import und Log (#30)
This commit was merged in pull request #30.
This commit is contained in:
+45
-2
@@ -1,6 +1,4 @@
|
||||
# Dienste fuer die Testsuite. Nicht fuer den Betrieb.
|
||||
# Die LDAP-Quelle fuer den Verzeichnis-Abgleich kommt in #016 dazu, dort wird sie
|
||||
# auch tatsaechlich benutzt und geprueft.
|
||||
|
||||
name: laufzettel-test
|
||||
|
||||
@@ -18,3 +16,48 @@ services:
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
# Das Verzeichnis fuer den Abgleich (#016). OpenLDAP mit einem AD-aehnlichen
|
||||
# Schema: sAMAccountName, userPrincipalName, binaeres objectGUID,
|
||||
# userAccountControl, objectCategory und department bringt OpenLDAP nicht mit,
|
||||
# sie stehen deshalb in tests/fixtures/ldap/schema/ad-fixture.ldif.
|
||||
#
|
||||
# LDAP_TLS ist aus, und das ist eine Einschraenkung mit Ansage: das Zertifikat,
|
||||
# das osixia sonst selbst erzeugt, laeutet auf den Containernamen, waehrend der
|
||||
# Test von aussen 127.0.0.1 anspricht -- die Pruefung des Hostnamens schlaege
|
||||
# fehl. Ein Schalter, der sie abstellt, waere ein Schalter zu viel im
|
||||
# Produktionscode. Der Container wird deshalb im Klartext angesprochen; die
|
||||
# TLS-Optionen (ldaps, StartTLS, eigenes CA-Zertifikat, minVersion) sind als
|
||||
# reine Funktion `tlsOptionenBauen` in tests/verzeichnis.test.ts geprueft.
|
||||
ldap:
|
||||
image: osixia/openldap:1.5.0
|
||||
# Ohne `--copy-service` spielt der Startskript die Bootstrap-Dateien nicht
|
||||
# ein, wenn sie nur eingehaengt sind.
|
||||
command: ["--copy-service"]
|
||||
environment:
|
||||
LDAP_ORGANISATION: Firma Test
|
||||
LDAP_DOMAIN: firma.test
|
||||
LDAP_ADMIN_PASSWORD: ldap-test-geheim
|
||||
LDAP_TLS: "false"
|
||||
ports:
|
||||
- "127.0.0.1:1389:389"
|
||||
volumes:
|
||||
# Schema und Daten liegen in getrennten Verzeichnissen, weil osixia die
|
||||
# Daten-LDIFs mit `sed -i` nach Platzhaltern durchsucht. Eingehaengt wird
|
||||
# deshalb das Verzeichnis und nicht die Datei: `sed -i` schreibt ueber eine
|
||||
# Umbenennung, und die scheitert auf einer einzeln eingehaengten Datei --
|
||||
# das Startskript laeuft mit `bash -e` und der Container waere tot.
|
||||
- ./tests/fixtures/ldap/schema:/container/service/slapd/assets/config/bootstrap/schema/custom:ro
|
||||
- ./tests/fixtures/ldap/daten:/container/service/slapd/assets/config/bootstrap/ldif/custom
|
||||
healthcheck:
|
||||
# Die Suche laeuft ueber den authentifizierten Bind, weil anonymes Lesen
|
||||
# abgeschaltet ist. Gesund ist der Dienst erst, wenn die Fixture-Personen
|
||||
# wirklich da sind -- sonst liest der Test gegen ein leeres Verzeichnis.
|
||||
test:
|
||||
[
|
||||
"CMD-SHELL",
|
||||
"ldapsearch -x -H ldap://localhost:389 -D cn=admin,dc=firma,dc=test -w ldap-test-geheim -b ou=Benutzer,dc=firma,dc=test -s sub '(sAMAccountName=mhuber)' dn | grep -q 'cn=Maria Huber'",
|
||||
]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 20
|
||||
|
||||
Reference in New Issue
Block a user