Files
sendico/ci/prod/compose/ops/mongo-entrypoint.sh
2025-11-07 00:59:08 +01:00

26 lines
800 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
wait_for_file() {
local path="$1" name="$2" retries="${3:-30}" interval="${4:-2}"
for _ in $(seq 1 "$retries"); do
if [ -s "$path" ]; then
return 0
fi
sleep "$interval"
done
echo "missing required secret: ${name} (${path})" >&2
exit 1
}
wait_for_file /vault/secrets/MONGO_INITDB_ROOT_USERNAME "root username"
wait_for_file /vault/secrets/MONGO_INITDB_ROOT_PASSWORD "root password"
wait_for_file /vault/secrets/mongo.kf "replica set keyFile"
export MONGO_INITDB_ROOT_USERNAME="$(cat /vault/secrets/MONGO_INITDB_ROOT_USERNAME)"
export MONGO_INITDB_ROOT_PASSWORD="$(cat /vault/secrets/MONGO_INITDB_ROOT_PASSWORD)"
chown 999:999 /vault/secrets/mongo.kf
chmod 0400 /vault/secrets/mongo.kf
exec /usr/local/bin/docker-entrypoint.sh "$@"