The documented flow started web (with Solid Queue in Puma) before the databases existed, and required manually creating the 389ds back-end and seeding the LDAP directory and databases. Automate it: - add an ldap-init one-shot service that creates the 389ds back-end if it does not exist - add a web entrypoint that seeds LDAP and the databases on first start, and runs db:prepare on later boots - update README and AGENTS accordingly, including the reset steps
15 lines
465 B
Bash
15 lines
465 B
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
SUFFIX="${LDAP_SUFFIX:-dc=kosmos,dc=org}"
|
|
URI="ldap://ldap:3389"
|
|
|
|
if dsconf -D "cn=Directory Manager" -w "$LDAP_ADMIN_PASSWORD" "$URI" \
|
|
backend suffix list --suffix 2>/dev/null | grep -Fqx "$SUFFIX"; then
|
|
echo "LDAP backend for $SUFFIX already exists, skipping."
|
|
else
|
|
echo "Creating LDAP backend for $SUFFIX..."
|
|
dsconf -D "cn=Directory Manager" -w "$LDAP_ADMIN_PASSWORD" "$URI" \
|
|
backend create --suffix "$SUFFIX" --be-name dev
|
|
fi
|