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)_$$"
|
RUN_ID="$(date +%s)_$$"
|
||||||
DB_NAME="fonoteka_parity_${RUN_ID}"
|
DB_NAME="fonoteka_parity_${RUN_ID}"
|
||||||
DB_USER="parity_${RUN_ID}"
|
DB_USER="parity_${RUN_ID}"
|
||||||
DB_PASS="$(python3 -c 'import secrets; print(secrets.token_urlsafe(24))')"
|
DB_PASS="$(python3 -c 'import secrets; print(secrets.token_hex(16))')"
|
||||||
ADMIN_PASS="$(python3 -c 'import secrets; print(secrets.token_urlsafe(18))')"
|
ADMIN_PASS="$(python3 -c 'import secrets; print(secrets.token_hex(12))')"
|
||||||
CONTAINER="fonoteka-parity-${RUN_ID}"
|
CONTAINER="fonoteka-parity-${RUN_ID}"
|
||||||
VARS_DIR="$(mktemp -d /tmp/summercms-parity-vars-XXXXXX)"
|
VARS_DIR="$(mktemp -d /tmp/summercms-parity-vars-XXXXXX)"
|
||||||
VARS_FILE="$VARS_DIR/vars.yaml"
|
VARS_FILE="$VARS_DIR/vars.yaml"
|
||||||
@@ -182,10 +182,16 @@ echo "==> mariadb listening on 127.0.0.1:${DB_PORT}"
|
|||||||
|
|
||||||
ready=0
|
ready=0
|
||||||
for _ in $(seq 1 90); do
|
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
|
ready=1
|
||||||
break
|
break
|
||||||
fi
|
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
|
sleep 1
|
||||||
done
|
done
|
||||||
if [[ "$ready" -ne 1 ]]; then
|
if [[ "$ready" -ne 1 ]]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user