From ac089d088513ab1b280728a86ed94d32d6a9bd05 Mon Sep 17 00:00:00 2001 From: kiblik <5609770+kiblik@users.noreply.github.com> Date: Tue, 2 Jul 2024 21:43:50 +0200 Subject: [PATCH] feat(db-checker): Extension of "db reachable" --- docker-compose.yml | 3 ++- docker/entrypoint-celery-beat.sh | 1 + docker/entrypoint-uwsgi-dev.sh | 3 +++ docker/entrypoint-uwsgi.sh | 4 ++++ docker/reach_database.sh | 19 +++++++++++++------ 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3043ed27852..ab6f446da8c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -105,7 +105,8 @@ services: source: ./docker/extra_settings target: /app/docker/extra_settings postgres: - image: postgres:17.2-alpine@sha256:0bcc5bbbb2aa9c9b4c6505845918c7eb55d783cf5c1f434fac33012579fb149d + image: postgres:11-alpine + # image: postgres:17.2-alpine@sha256:0bcc5bbbb2aa9c9b4c6505845918c7eb55d783cf5c1f434fac33012579fb149d environment: POSTGRES_DB: ${DD_DATABASE_NAME:-defectdojo} POSTGRES_USER: ${DD_DATABASE_USER:-defectdojo} diff --git a/docker/entrypoint-celery-beat.sh b/docker/entrypoint-celery-beat.sh index 7b2eab0968f..a185493fe92 100755 --- a/docker/entrypoint-celery-beat.sh +++ b/docker/entrypoint-celery-beat.sh @@ -2,6 +2,7 @@ set -e # needed to handle "exit" correctly +. /secret-file-loader.sh . /reach_database.sh umask 0002 diff --git a/docker/entrypoint-uwsgi-dev.sh b/docker/entrypoint-uwsgi-dev.sh index b1c9cfe1cc3..ee126305ac3 100755 --- a/docker/entrypoint-uwsgi-dev.sh +++ b/docker/entrypoint-uwsgi-dev.sh @@ -3,7 +3,10 @@ set -e # needed to handle "exit" correctly . /secret-file-loader.sh +. /reach_database.sh +wait_for_database_to_be_reachable +echo cd /app || exit diff --git a/docker/entrypoint-uwsgi.sh b/docker/entrypoint-uwsgi.sh index 6fe962f6211..343aaf12fe8 100755 --- a/docker/entrypoint-uwsgi.sh +++ b/docker/entrypoint-uwsgi.sh @@ -3,6 +3,7 @@ set -e # needed to handle "exit" correctly . /secret-file-loader.sh +. /reach_database.sh # Allow for bind-mount multiple settings.py overrides FILES=$(ls /app/docker/extra_settings/* 2>/dev/null || true) @@ -17,6 +18,9 @@ if [ "$NUM_FILES" -gt 0 ]; then rm -f /app/dojo/settings/README.md fi +wait_for_database_to_be_reachable +echo + umask 0002 # do the check with Django stack diff --git a/docker/reach_database.sh b/docker/reach_database.sh index 819f69282e3..1c4c3180131 100644 --- a/docker/reach_database.sh +++ b/docker/reach_database.sh @@ -6,11 +6,18 @@ wait_for_database_to_be_reachable() { DD_DATABASE_READINESS_TIMEOUT=${DD_DATABASE_READINESS_TIMEOUT:-30} until echo "select 1;" | python3 manage.py dbshell > /dev/null do - echo -n "." - failure_count=$((failure_count + 1)) - sleep 1 - if [ $DD_DATABASE_READINESS_TIMEOUT = $failure_count ]; then - exit 1 - fi + echo -n "." + failure_count=$((failure_count + 1)) + sleep 1 + if [ $DD_DATABASE_READINESS_TIMEOUT = $failure_count ]; then + exit 1 + fi done + cat <