fix(02-05): wait for MariaDB with hex-only process credentials
- Avoid urlsafe passwords that start with a dash and break mariadbadmin -p - Probe readiness with a quoted SQL SELECT against the disposable container Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -142,8 +142,8 @@ echo "==> fresh PHP self-replay on disposable MariaDB"
|
||||
RUN_ID="$(date +%s)_$$"
|
||||
DB_NAME="fonoteka_parity_${RUN_ID}"
|
||||
DB_USER="parity_${RUN_ID}"
|
||||
DB_PASS="$(python3 -c 'import secrets; print(secrets.token_urlsafe(24))')"
|
||||
ADMIN_PASS="$(python3 -c 'import secrets; print(secrets.token_urlsafe(18))')"
|
||||
DB_PASS="$(python3 -c 'import secrets; print(secrets.token_hex(16))')"
|
||||
ADMIN_PASS="$(python3 -c 'import secrets; print(secrets.token_hex(12))')"
|
||||
CONTAINER="fonoteka-parity-${RUN_ID}"
|
||||
VARS_DIR="$(mktemp -d /tmp/summercms-parity-vars-XXXXXX)"
|
||||
VARS_FILE="$VARS_DIR/vars.yaml"
|
||||
@@ -182,10 +182,16 @@ echo "==> mariadb listening on 127.0.0.1:${DB_PORT}"
|
||||
|
||||
ready=0
|
||||
for _ in $(seq 1 90); do
|
||||
if docker exec "$CONTAINER" mariadbadmin ping -uroot -p"$DB_PASS" --silent >/dev/null 2>&1; then
|
||||
if docker exec "$CONTAINER" mariadb -uroot -p"$DB_PASS" -e 'SELECT 1' --silent >/dev/null 2>&1; then
|
||||
ready=1
|
||||
break
|
||||
fi
|
||||
if docker logs "$CONTAINER" 2>&1 | grep -q 'ready for connections'; then
|
||||
if docker exec "$CONTAINER" mariadb -uroot -p"$DB_PASS" -N -e 'SELECT 1' >/dev/null 2>&1; then
|
||||
ready=1
|
||||
break
|
||||
fi
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
if [[ "$ready" -ne 1 ]]; then
|
||||
|
||||
Reference in New Issue
Block a user