first db deployment script
This commit is contained in:
25
ci/prod/compose/ops/mongo-entrypoint.sh
Executable file
25
ci/prod/compose/ops/mongo-entrypoint.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/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 "$@"
|
||||
Reference in New Issue
Block a user