From e5f52a61256f8fa685564215c1382c03d5539373 Mon Sep 17 00:00:00 2001 From: Aljoscha Grebe Date: Sat, 18 Jan 2025 00:18:06 +0100 Subject: [PATCH] escape all strings is entrypoints --- docker/sidekiq-entrypoint.sh | 20 ++++++++++---------- docker/web-entrypoint.sh | 22 +++++++++++----------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/docker/sidekiq-entrypoint.sh b/docker/sidekiq-entrypoint.sh index d137874a..83ae861e 100644 --- a/docker/sidekiq-entrypoint.sh +++ b/docker/sidekiq-entrypoint.sh @@ -10,18 +10,18 @@ echo "⚠️ Starting Sidekiq in $RAILS_ENV environment ⚠️" # Parse DATABASE_URL if present, otherwise use individual variables if [ -n "$DATABASE_URL" ]; then # Extract components from DATABASE_URL - DATABASE_HOST=$(echo $DATABASE_URL | awk -F[@/] '{print $4}') - DATABASE_PORT=$(echo $DATABASE_URL | awk -F[@/:] '{print $5}') - DATABASE_USERNAME=$(echo $DATABASE_URL | awk -F[:/@] '{print $4}') - DATABASE_PASSWORD=$(echo $DATABASE_URL | awk -F[:/@] '{print $5}') - DATABASE_NAME=$(echo $DATABASE_URL | awk -F[@/] '{print $5}') + DATABASE_HOST="$(echo "$DATABASE_URL" | awk -F[@/] '{print $4}')" + DATABASE_PORT="$(echo "$DATABASE_URL" | awk -F[@/:] '{print $5}')" + DATABASE_USERNAME="$(echo "$DATABASE_URL" | awk -F[:/@] '{print $4}')" + DATABASE_PASSWORD="$(echo "$DATABASE_URL" | awk -F[:/@] '{print $5}')" + DATABASE_NAME="$(echo "$DATABASE_URL" | awk -F[@/] '{print $5}')" else # Use existing environment variables - DATABASE_HOST=${DATABASE_HOST} - DATABASE_PORT=${DATABASE_PORT} - DATABASE_USERNAME=${DATABASE_USERNAME} - DATABASE_PASSWORD=${DATABASE_PASSWORD} - DATABASE_NAME=${DATABASE_NAME} + DATABASE_HOST="${DATABASE_HOST}" + DATABASE_PORT="${DATABASE_PORT}" + DATABASE_USERNAME="${DATABASE_USERNAME}" + DATABASE_PASSWORD="${DATABASE_PASSWORD}" + DATABASE_NAME="${DATABASE_NAME}" fi # Wait for the database to become available diff --git a/docker/web-entrypoint.sh b/docker/web-entrypoint.sh index 7c43f481..0419cb85 100644 --- a/docker/web-entrypoint.sh +++ b/docker/web-entrypoint.sh @@ -10,18 +10,18 @@ echo "⚠️ Starting Rails environment: $RAILS_ENV ⚠️" # Parse DATABASE_URL if present, otherwise use individual variables if [ -n "$DATABASE_URL" ]; then # Extract components from DATABASE_URL - DATABASE_HOST=$(echo $DATABASE_URL | awk -F[@/] '{print $4}') - DATABASE_PORT=$(echo $DATABASE_URL | awk -F[@/:] '{print $5}') - DATABASE_USERNAME=$(echo $DATABASE_URL | awk -F[:/@] '{print $4}') - DATABASE_PASSWORD=$(echo $DATABASE_URL | awk -F[:/@] '{print $5}') - DATABASE_NAME=$(echo $DATABASE_URL | awk -F[@/] '{print $5}') + DATABASE_HOST="$(echo "$DATABASE_URL" | awk -F[@/] '{print $4}')" + DATABASE_PORT="$(echo "$DATABASE_URL" | awk -F[@/:] '{print $5}')" + DATABASE_USERNAME="$(echo "$DATABASE_URL" | awk -F[:/@] '{print $4}')" + DATABASE_PASSWORD="$(echo "$DATABASE_URL" | awk -F[:/@] '{print $5}')" + DATABASE_NAME="$(echo "$DATABASE_URL" | awk -F[@/] '{print $5}')" else # Use existing environment variables - DATABASE_HOST=${DATABASE_HOST} - DATABASE_PORT=${DATABASE_PORT} - DATABASE_USERNAME=${DATABASE_USERNAME} - DATABASE_PASSWORD=${DATABASE_PASSWORD} - DATABASE_NAME=${DATABASE_NAME} + DATABASE_HOST="${DATABASE_HOST}" + DATABASE_PORT="${DATABASE_PORT}" + DATABASE_USERNAME="${DATABASE_USERNAME}" + DATABASE_PASSWORD="${DATABASE_PASSWORD}" + DATABASE_NAME="${DATABASE_NAME}" fi # Export main database variables to ensure they're available @@ -32,7 +32,7 @@ export DATABASE_PASSWORD export DATABASE_NAME # Remove pre-existing puma/passenger server.pid -rm -f $APP_PATH/tmp/pids/server.pid +rm -f "$APP_PATH/tmp/pids/server.pid" # Function to check and create a PostgreSQL database create_database() {