Robert Kaussow
3390ad995b
All checks were successful
continuous-integration/drone/push Build is passing
42 lines
1.4 KiB
Bash
Executable File
42 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
set -eo pipefail
|
|
|
|
/usr/local/bin/gomplate -V -o /app/config.toml -f /etc/templates/config.toml.tmpl
|
|
|
|
if [ -z "$BITWARDENRS_LDAP_BITWARDEN_URL" ] || [ -z "$BITWARDENRS_LDAP_HOST" ]
|
|
then
|
|
printf "Error: Bitwarden and/or LDAP server not configured. Exiting ...\n"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -n "$BITWARDENRS_LDAP_BITWARDEN_URL" ]
|
|
then
|
|
WAITFOR_BW_SCHEME=$(/usr/local/bin/url-parser scheme --url "$BITWARDENRS_LDAP_BITWARDEN_URL")
|
|
WAITFOR_BW_HOST=$(/usr/local/bin/url-parser host --url "$BITWARDENRS_LDAP_BITWARDEN_URL")
|
|
WAITFOR_BW_PORT=$(/usr/local/bin/url-parser port --url "$BITWARDENRS_LDAP_BITWARDEN_URL")
|
|
|
|
if [ -z "$WAITFOR_BW_PORT" ]
|
|
then
|
|
[ "$WAITFOR_BW_SCHEME" = "https" ] && WAITFOR_BW_PORT=433 || WAITFOR_BW_PORT=80
|
|
fi
|
|
|
|
printf "Wait for bitwarden server on '%s:%s'...\n" "${WAITFOR_BW_HOST}" "${WAITFOR_BW_PORT}"
|
|
/usr/local/bin/wait-for "${WAITFOR_BW_HOST}":"${WAITFOR_BW_PORT}"
|
|
fi
|
|
|
|
if [ -n "$BITWARDENRS_LDAP_HOST" ]
|
|
then
|
|
WAITFOR_LDAP_SSL=$(/usr/local/bin/gomplate -i '{{ getenv "BITWARDENRS_LDAP_SSL" "true" | conv.Bool }}')
|
|
|
|
if [ -z "$WAITFOR_LDAP_PORT" ]
|
|
then
|
|
[ "$WAITFOR_LDAP_SSL" = true ] && WAITFOR_LDAP_PORT=636 || WAITFOR_LDAP_PORT=389
|
|
fi
|
|
|
|
printf "Wait for ldap server on '%s:%s'...\n" "${BITWARDENRS_LDAP_HOST}" "${WAITFOR_LDAP_PORT}"
|
|
/usr/local/bin/wait-for "${BITWARDENRS_LDAP_HOST}":"${WAITFOR_LDAP_PORT}"
|
|
fi
|
|
|
|
exec env CONFIG_PATH=/app/config.toml /app/bitwarden_rs_ldap
|