use url-parser and fetch wait-for script from remote
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
92d47323c8
commit
554bd28f5f
|
@ -14,7 +14,11 @@ RUN addgroup -g 101 -S app && \
|
||||||
apk --update add --virtual .build-deps tar curl && \
|
apk --update add --virtual .build-deps tar curl && \
|
||||||
apk --update add openssl postgresql-libs ca-certificates && \
|
apk --update add openssl postgresql-libs ca-certificates && \
|
||||||
curl -SsL -o /usr/local/bin/gomplate https://github.com/hairyhenderson/gomplate/releases/download/v3.5.0/gomplate_linux-amd64-slim && \
|
curl -SsL -o /usr/local/bin/gomplate https://github.com/hairyhenderson/gomplate/releases/download/v3.5.0/gomplate_linux-amd64-slim && \
|
||||||
|
curl -SsL -o /usr/local/bin/url-parser https://github.com/xoxys/url-parser/releases/download/v0.1.0/url-parser-0.1.0-linux-amd64 && \
|
||||||
|
curl -SsL -o /usr/local/bin/wait-for https://raw.githubusercontent.com/xoxys/wait-for/master/wait-for && \
|
||||||
chmod 755 /usr/local/bin/gomplate && \
|
chmod 755 /usr/local/bin/gomplate && \
|
||||||
|
chmod 755 /usr/local/bin/url-parser && \
|
||||||
|
chmod 755 /usr/local/bin/wait-for && \
|
||||||
mkdir -p /app/web-vault /app/data && \
|
mkdir -p /app/web-vault /app/data && \
|
||||||
curl -SsL ${VAULT_TARBALL} | tar xz -C /app/web-vault && \
|
curl -SsL ${VAULT_TARBALL} | tar xz -C /app/web-vault && \
|
||||||
apk del .build-deps && \
|
apk del .build-deps && \
|
||||||
|
|
|
@ -1,13 +1,16 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
set -eo pipefail
|
set -eo
|
||||||
|
|
||||||
/usr/local/bin/gomplate -V -o /app/.env -f /etc/templates/env.tmpl
|
/usr/local/bin/gomplate -V -o /app/.env -f /etc/templates/env.tmpl
|
||||||
|
|
||||||
if [ ! -z "$BITWARDENRS_WAIT_FOR_HOST" ] && [ ! -z "$BITWARDENRS_WAIT_FOR_PORT" ]
|
if [ "$BITWARDENRS_WAITFOR_ENABLED" = true ]
|
||||||
then
|
then
|
||||||
|
WAITFOR_HOST=$(url-parse host --url "$BITWARDENRS_DATABASE_URL")
|
||||||
|
WAITFOR_PORT=$(url-parse port --url "$BITWARDENRS_DATABASE_URL")
|
||||||
|
|
||||||
printf "Wait for database server ...\n"
|
printf "Wait for database server ...\n"
|
||||||
/usr/local/bin/wait-for
|
/usr/local/bin/wait-for "${WAITFOR_HOST}":"${WAITFOR_PORT:-5432}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "Start Bitwarden Server ...\n"
|
printf "Start Bitwarden Server ...\n"
|
||||||
|
|
|
@ -1,79 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
BITWARDENRS_WAIT_FOR_TIMEOUT=15
|
|
||||||
QUIET=0
|
|
||||||
|
|
||||||
echoerr() {
|
|
||||||
if [ "$QUIET" -ne 1 ]; then printf "%s\n" "$*" 1>&2; fi
|
|
||||||
}
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
exitcode="$1"
|
|
||||||
cat << USAGE >&2
|
|
||||||
Usage:
|
|
||||||
$cmdname host:port [-t timeout] [-- command args]
|
|
||||||
-q | --quiet Do not output any status messages
|
|
||||||
-t TIMEOUT | --timeout=timeout Timeout in seconds, zero for no timeout
|
|
||||||
-- COMMAND ARGS Execute command with args after the test finishes
|
|
||||||
USAGE
|
|
||||||
exit "$exitcode"
|
|
||||||
}
|
|
||||||
|
|
||||||
wait_for() {
|
|
||||||
for i in `seq $BITWARDENRS_WAIT_FOR_TIMEOUT` ; do
|
|
||||||
nc -z "$BITWARDENRS_WAIT_FOR_HOST" "$BITWARDENRS_WAIT_FOR_PORT" > /dev/null 2>&1
|
|
||||||
|
|
||||||
result=$?
|
|
||||||
if [ $result -eq 0 ] ; then
|
|
||||||
if [ $# -gt 0 ] ; then
|
|
||||||
exec "$@"
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
echo "Operation timed out" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
while [ $# -gt 0 ]
|
|
||||||
do
|
|
||||||
case "$1" in
|
|
||||||
*:* )
|
|
||||||
HOST=$(printf "%s\n" "$1"| cut -d : -f 1)
|
|
||||||
PORT=$(printf "%s\n" "$1"| cut -d : -f 2)
|
|
||||||
shift 1
|
|
||||||
;;
|
|
||||||
-q | --quiet)
|
|
||||||
QUIET=1
|
|
||||||
shift 1
|
|
||||||
;;
|
|
||||||
-t)
|
|
||||||
TIMEOUT="$2"
|
|
||||||
if [ "$TIMEOUT" = "" ]; then break; fi
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
--timeout=*)
|
|
||||||
TIMEOUT="${1#*=}"
|
|
||||||
shift 1
|
|
||||||
;;
|
|
||||||
--)
|
|
||||||
shift
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
--help)
|
|
||||||
usage 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echoerr "Unknown argument: $1"
|
|
||||||
usage 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$HOST" = "" -o "$PORT" = "" ]; then
|
|
||||||
echoerr "Error: you need to provide a host and port to test."
|
|
||||||
usage 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
wait_for "$@"
|
|
Loading…
Reference in New Issue