From e78eb83509e350a65a5c448dbd1c20257ca19252 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sun, 5 Oct 2025 18:53:41 +0200 Subject: [PATCH 01/10] docker compose: switch to valkey as message broker --- .github/workflows/integration-tests.yml | 2 +- README.md | 10 ++++----- docker-compose.override.unit_tests.yml | 2 +- docker-compose.override.unit_tests_cicd.yml | 2 +- docker-compose.yml | 22 +++++++++++-------- .../open_source/installation/architecture.md | 4 +++- docs/content/en/open_source/upgrading/2.52.md | 12 ++++++++++ run-integration-tests.sh | 6 ++--- 8 files changed, 39 insertions(+), 21 deletions(-) create mode 100644 docs/content/en/open_source/upgrading/2.52.md diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 784ee42b676..84b5150893a 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -76,7 +76,7 @@ jobs: run: ln -s docker-compose.override.integration_tests.yml docker-compose.override.yml - name: Start Dojo - run: docker compose up --no-deps -d postgres nginx celerybeat celeryworker mailhog uwsgi redis + run: docker compose up --no-deps -d postgres nginx celerybeat celeryworker mailhog uwsgi valkey env: DJANGO_VERSION: ${{ matrix.os }} NGINX_VERSION: alpine diff --git a/README.md b/README.md index e239a7f6baf..f9d2511b07c 100644 --- a/README.md +++ b/README.md @@ -56,8 +56,8 @@ cd django-DefectDojo # Building Docker images docker compose build -# Run the application (for other profiles besides postgres-redis see -# https://github.com/DefectDojo/django-DefectDojo/blob/dev/readme-docs/DOCKER.md) +# Run the application +# (see https://github.com/DefectDojo/django-DefectDojo/blob/dev/readme-docs/DOCKER.md for more info) docker compose up -d # Obtain admin credentials. The initializer can take up to 3 minutes to run. @@ -67,7 +67,7 @@ docker compose logs initializer | grep "Admin password:" ## For Docker Compose V1 -You can run Compose V1 by calling `docker-compose` (by adding the hyphen (-) between `docker compose`). +You can run Compose V1 by calling `docker-compose` (by adding the hyphen (-) between `docker compose`). Following commands are using original version so you might need to adjust them: ```sh @@ -132,8 +132,8 @@ Moderators can help you with pull requests or feedback on dev ideas: * Blake Owens ([@blakeaowens](https://github.com/blakeaowens)) ## Hall of Fame -* Jannik Jürgens ([@alles-klar](https://github.com/alles-klar)) - Jannik was a long time contributor and moderator for - DefectDojo and made significant contributions to many areas of the platform. Jannik was instrumental in pioneering +* Jannik Jürgens ([@alles-klar](https://github.com/alles-klar)) - Jannik was a long time contributor and moderator for + DefectDojo and made significant contributions to many areas of the platform. Jannik was instrumental in pioneering and optimizing deployment methods. * Valentijn Scholten ([@valentijnscholten](https://github.com/valentijnscholten) | [Sponsor](https://github.com/sponsors/valentijnscholten) | diff --git a/docker-compose.override.unit_tests.yml b/docker-compose.override.unit_tests.yml index d1b90f57fdd..439abea2d3f 100644 --- a/docker-compose.override.unit_tests.yml +++ b/docker-compose.override.unit_tests.yml @@ -42,7 +42,7 @@ services: POSTGRES_DB: ${DD_TEST_DATABASE_NAME:-test_defectdojo} volumes: - defectdojo_postgres_unit_tests:/var/lib/postgresql/data - redis: !reset + valkey: !reset "webhook.endpoint": image: mccutchen/go-httpbin:2.18.3@sha256:3992f3763e9ce5a4307eae0a869a78b4df3931dc8feba74ab823dd2444af6a6b volumes: diff --git a/docker-compose.override.unit_tests_cicd.yml b/docker-compose.override.unit_tests_cicd.yml index 8d6eec1701c..0acd340ce4c 100644 --- a/docker-compose.override.unit_tests_cicd.yml +++ b/docker-compose.override.unit_tests_cicd.yml @@ -41,7 +41,7 @@ services: POSTGRES_DB: ${DD_TEST_DATABASE_NAME:-test_defectdojo} volumes: - defectdojo_postgres_unit_tests:/var/lib/postgresql/data - redis: !reset + valkey: !reset "webhook.endpoint": image: mccutchen/go-httpbin:2.18.3@sha256:3992f3763e9ce5a4307eae0a869a78b4df3931dc8feba74ab823dd2444af6a6b volumes: diff --git a/docker-compose.yml b/docker-compose.yml index f18651fa52e..deec6acf2b7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -41,7 +41,7 @@ services: condition: service_completed_successfully postgres: condition: service_started - redis: + valkey: condition: service_started entrypoint: ['/wait-for-it.sh', '${DD_DATABASE_HOST:-postgres}:${DD_DATABASE_PORT:-5432}', '-t', '30', '--', '/entrypoint-uwsgi.sh'] environment: @@ -49,7 +49,7 @@ services: DD_DJANGO_METRICS_ENABLED: "${DD_DJANGO_METRICS_ENABLED:-False}" DD_ALLOWED_HOSTS: "${DD_ALLOWED_HOSTS:-*}" DD_DATABASE_URL: ${DD_DATABASE_URL:-postgresql://defectdojo:defectdojo@postgres:5432/defectdojo} - DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-redis://redis:6379/0} + DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-valkey://valkey:6379/0} DD_SECRET_KEY: "${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}" DD_CREDENTIAL_AES_256_KEY: "${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}" DD_DATABASE_READINESS_TIMEOUT: "${DD_DATABASE_READINESS_TIMEOUT:-30}" @@ -65,12 +65,12 @@ services: condition: service_completed_successfully postgres: condition: service_started - redis: + valkey: condition: service_started entrypoint: ['/wait-for-it.sh', '${DD_DATABASE_HOST:-postgres}:${DD_DATABASE_PORT:-5432}', '-t', '30', '--', '/entrypoint-celery-beat.sh'] environment: DD_DATABASE_URL: ${DD_DATABASE_URL:-postgresql://defectdojo:defectdojo@postgres:5432/defectdojo} - DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-redis://redis:6379/0} + DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-valkey://valkey:6379/0} DD_SECRET_KEY: "${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}" DD_CREDENTIAL_AES_256_KEY: "${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}" DD_DATABASE_READINESS_TIMEOUT: "${DD_DATABASE_READINESS_TIMEOUT:-30}" @@ -85,12 +85,12 @@ services: condition: service_completed_successfully postgres: condition: service_started - redis: + valkey: condition: service_started entrypoint: ['/wait-for-it.sh', '${DD_DATABASE_HOST:-postgres}:${DD_DATABASE_PORT:-5432}', '-t', '30', '--', '/entrypoint-celery-worker.sh'] environment: DD_DATABASE_URL: ${DD_DATABASE_URL:-postgresql://defectdojo:defectdojo@postgres:5432/defectdojo} - DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-redis://redis:6379/0} + DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-valkey://valkey:6379/0} DD_SECRET_KEY: "${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}" DD_CREDENTIAL_AES_256_KEY: "${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}" DD_DATABASE_READINESS_TIMEOUT: "${DD_DATABASE_READINESS_TIMEOUT:-30}" @@ -119,6 +119,8 @@ services: - type: bind source: ./docker/extra_settings target: /app/docker/extra_settings + - defectdojo_redis:/redis-data:ro + - defectdojo_valkey:/valkey-data postgres: image: postgres:18.0-alpine@sha256:70b32afe0c274b4d93098fd724fcdaab3aba47270a4f1e63cbf9cc69d7bf1be4 environment: @@ -127,12 +129,14 @@ services: POSTGRES_PASSWORD: ${DD_DATABASE_PASSWORD:-defectdojo} volumes: - defectdojo_postgres:/var/lib/postgresql/data - redis: - # Pinning to this version due to licensing constraints - image: redis:7.2.11-alpine@sha256:7632e82373929f39cdbead93f2e45d8b3cd295072c4755e00e7e6b19d56cc512 + valkey: + image: valkey/valkey:7.2-alpine volumes: + # we keep using the redis volume as renaming is not possible and copying data over + # would require steps during downtime or complex commands in the intializer - defectdojo_redis:/data volumes: defectdojo_postgres: {} defectdojo_media: {} defectdojo_redis: {} + diff --git a/docs/content/en/open_source/installation/architecture.md b/docs/content/en/open_source/installation/architecture.md index cd3d70710d6..d3085609844 100644 --- a/docs/content/en/open_source/installation/architecture.md +++ b/docs/content/en/open_source/installation/architecture.md @@ -21,7 +21,9 @@ dynamic content. ## Message Broker The application server sends tasks to a [Message Broker](https://docs.celeryq.dev/en/stable/getting-started/backends-and-brokers/index.html) -for asynchronous execution. Currently, only [Redis](https://github.com/redis/redis) is supported as a broker. +for asynchronous execution. Currently, only [Valkey](https://valkey.io/) is supported as a broker in the docker compose setup. +The Helm chart still uses [Redis](https://github.com/redis/redis) is supported as a broker, but will be migrated to Valkey shortly. + ## Celery Worker diff --git a/docs/content/en/open_source/upgrading/2.52.md b/docs/content/en/open_source/upgrading/2.52.md new file mode 100644 index 00000000000..86efb17906d --- /dev/null +++ b/docs/content/en/open_source/upgrading/2.52.md @@ -0,0 +1,12 @@ +--- +title: 'Upgrading to DefectDojo Version 2.52.x' +toc_hide: true +weight: -20250804 +description: Replaced Redis with Valkey +--- + +Since the license change at Redis the fork ValKey has become widely popular and is backed by industry giants such as AWS. AWS is advising to use ValKey over Redis and is using lower prices for ValKey compared to Redis. + +Defect Dojo 2.52 now uses ValKey as a message broker. Teh existing redit volume can be used by Valkey, so this is just a drop in replacement. + +If you want to know more or have a setup where you cannot just re-use the existing volume, please visit https://valkey.io/topics/migration/. \ No newline at end of file diff --git a/run-integration-tests.sh b/run-integration-tests.sh index 953fbbab31f..a07fe15e629 100755 --- a/run-integration-tests.sh +++ b/run-integration-tests.sh @@ -41,7 +41,7 @@ while [[ $# -gt 0 ]]; do esac done -echo "Running docker compose unit tests with profile postgres-redis and test case $TEST_CASE ..." +echo "Running docker compose unit tests and test case $TEST_CASE ..." # Compose V2 integrates compose functions into the Docker platform, # continuing to support most of the previous docker-compose features @@ -50,8 +50,8 @@ echo "Running docker compose unit tests with profile postgres-redis and test cas echo "Building images..." ./docker/setEnv.sh integration_tests docker compose build -echo "Setting up DefectDojo with Postgres and Redis..." -DD_INTEGRATION_TEST_FILENAME="$TEST_CASE" docker compose -d postgres nginx celerybeat celeryworker mailhog uwsgi redis +echo "Setting up DefectDojo" +DD_INTEGRATION_TEST_FILENAME="$TEST_CASE" docker compose -d postgres nginx celerybeat celeryworker mailhog uwsgi valkey echo "Initializing DefectDojo..." DD_INTEGRATION_TEST_FILENAME="$TEST_CASE" docker compose --exit-code-from initializer initializer echo "Running the integration tests..." From 05847c56684018426d36b16fa0cf892a6f98f662 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sun, 5 Oct 2025 18:54:25 +0200 Subject: [PATCH 02/10] docker compose: switch to valkey as message broker --- docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index deec6acf2b7..ae3a6182ea2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -119,8 +119,6 @@ services: - type: bind source: ./docker/extra_settings target: /app/docker/extra_settings - - defectdojo_redis:/redis-data:ro - - defectdojo_valkey:/valkey-data postgres: image: postgres:18.0-alpine@sha256:70b32afe0c274b4d93098fd724fcdaab3aba47270a4f1e63cbf9cc69d7bf1be4 environment: From a206c5a2e6174c77725f0e06c362e8b8cbf2aa57 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sun, 5 Oct 2025 19:10:45 +0200 Subject: [PATCH 03/10] docker compose: switch to valkey as message broker --- docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index ae3a6182ea2..add92fcb1f3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -49,7 +49,7 @@ services: DD_DJANGO_METRICS_ENABLED: "${DD_DJANGO_METRICS_ENABLED:-False}" DD_ALLOWED_HOSTS: "${DD_ALLOWED_HOSTS:-*}" DD_DATABASE_URL: ${DD_DATABASE_URL:-postgresql://defectdojo:defectdojo@postgres:5432/defectdojo} - DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-valkey://valkey:6379/0} + DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-redis://valkey:6379/0} DD_SECRET_KEY: "${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}" DD_CREDENTIAL_AES_256_KEY: "${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}" DD_DATABASE_READINESS_TIMEOUT: "${DD_DATABASE_READINESS_TIMEOUT:-30}" @@ -70,7 +70,7 @@ services: entrypoint: ['/wait-for-it.sh', '${DD_DATABASE_HOST:-postgres}:${DD_DATABASE_PORT:-5432}', '-t', '30', '--', '/entrypoint-celery-beat.sh'] environment: DD_DATABASE_URL: ${DD_DATABASE_URL:-postgresql://defectdojo:defectdojo@postgres:5432/defectdojo} - DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-valkey://valkey:6379/0} + DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-redis://valkey:6379/0} DD_SECRET_KEY: "${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}" DD_CREDENTIAL_AES_256_KEY: "${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}" DD_DATABASE_READINESS_TIMEOUT: "${DD_DATABASE_READINESS_TIMEOUT:-30}" @@ -90,7 +90,7 @@ services: entrypoint: ['/wait-for-it.sh', '${DD_DATABASE_HOST:-postgres}:${DD_DATABASE_PORT:-5432}', '-t', '30', '--', '/entrypoint-celery-worker.sh'] environment: DD_DATABASE_URL: ${DD_DATABASE_URL:-postgresql://defectdojo:defectdojo@postgres:5432/defectdojo} - DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-valkey://valkey:6379/0} + DD_CELERY_BROKER_URL: ${DD_CELERY_BROKER_URL:-redis://valkey:6379/0} DD_SECRET_KEY: "${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}" DD_CREDENTIAL_AES_256_KEY: "${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}" DD_DATABASE_READINESS_TIMEOUT: "${DD_DATABASE_READINESS_TIMEOUT:-30}" From ad15a767f8710dcb8d19fd3784998a8ef1e2fff8 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sun, 5 Oct 2025 19:30:26 +0200 Subject: [PATCH 04/10] docker compose: switch to valkey as message broker --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index add92fcb1f3..97ed47288a4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -128,7 +128,7 @@ services: volumes: - defectdojo_postgres:/var/lib/postgresql/data valkey: - image: valkey/valkey:7.2-alpine + image: valkey/valkey:7.2-alpine@sha256:7b2019b47ad58be661fa6eba5ea66106eadde03459387113aaed29a464a5876b volumes: # we keep using the redis volume as renaming is not possible and copying data over # would require steps during downtime or complex commands in the intializer From ecfe553961f464a11e0d1919433d3a4c76efb8e6 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sun, 5 Oct 2025 19:48:18 +0200 Subject: [PATCH 05/10] docker compose: switch to valkey as message broker --- docs/content/en/open_source/upgrading/2.52.md | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/content/en/open_source/upgrading/2.52.md b/docs/content/en/open_source/upgrading/2.52.md index 86efb17906d..eb4fb6fd7ca 100644 --- a/docs/content/en/open_source/upgrading/2.52.md +++ b/docs/content/en/open_source/upgrading/2.52.md @@ -9,4 +9,25 @@ Since the license change at Redis the fork ValKey has become widely popular and Defect Dojo 2.52 now uses ValKey as a message broker. Teh existing redit volume can be used by Valkey, so this is just a drop in replacement. -If you want to know more or have a setup where you cannot just re-use the existing volume, please visit https://valkey.io/topics/migration/. \ No newline at end of file +If you want to know more or have a setup where you cannot just re-use the existing volume, please visit https://valkey.io/topics/migration/. + +When you shutdown Defect Dojo to perform the upgrade, the celery tasks that are in the queue are storede to disk. After the upgrade, the celery workers will process these tasks as normal. + +If you want to be 110% sure no tasks will be lost you could perform the upgrade in two steps: + +1) Stop nginx, uwsgi, celerybeat to prevent new tasks from being created: + +`docker compose down nginx, uwsgi, celerybeat` + +2) Observe the logs of the celeryworker(s) and wait until all tasks are finished: + +`docker compose logs celeryworker` + +3) Stop the remaining services: + +`docker compose down` + +4) Continue the upgrade as normal per the [upgrade guide](upgrading_guide) +`docker compose pull` +`docker compose up -d` + From 8a99c02a5a25bf9926e2425772c9b334627ef265 Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Tue, 7 Oct 2025 19:19:33 +0200 Subject: [PATCH 06/10] Update 2.52.md --- docs/content/en/open_source/upgrading/2.52.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/content/en/open_source/upgrading/2.52.md b/docs/content/en/open_source/upgrading/2.52.md index ced771de0d9..d1ab122b96e 100644 --- a/docs/content/en/open_source/upgrading/2.52.md +++ b/docs/content/en/open_source/upgrading/2.52.md @@ -62,5 +62,5 @@ The following Helm chart values have been modified in this release: There are other instructions for upgrading to 2.52.x. Check the [Release Notes](https://github.com/DefectDojo/django-DefectDojo/releases/tag/2.52.0) for the contents of the release. -## Releas notes -Check the [Release Notes](https://github.com/DefectDojo/django-DefectDojo/releases/tag/2.52.0) for the contents of the release. \ No newline at end of file +## Release notes +Check the [Release Notes](https://github.com/DefectDojo/django-DefectDojo/releases/tag/2.52.0) for the contents of the release. From b3a2752ce5d9a6af5935c853ace43627e463bea5 Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Mon, 13 Oct 2025 21:00:32 +0200 Subject: [PATCH 07/10] Update docs/content/en/open_source/upgrading/2.52.md Co-authored-by: kiblik <5609770+kiblik@users.noreply.github.com> --- docs/content/en/open_source/upgrading/2.52.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/en/open_source/upgrading/2.52.md b/docs/content/en/open_source/upgrading/2.52.md index d1ab122b96e..15c1b20a3fc 100644 --- a/docs/content/en/open_source/upgrading/2.52.md +++ b/docs/content/en/open_source/upgrading/2.52.md @@ -1,7 +1,7 @@ --- title: 'Upgrading to DefectDojo Version 2.52.x' toc_hide: true -weight: -20250804 +weight: -20251006 description: Replaced Redis with Valkey & Helm chart changes. --- From 5e93144b5e73fafc9f9d446c707813a93484be77 Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Mon, 13 Oct 2025 21:22:51 +0200 Subject: [PATCH 08/10] Update 2.52.md --- docs/content/en/open_source/upgrading/2.52.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/content/en/open_source/upgrading/2.52.md b/docs/content/en/open_source/upgrading/2.52.md index 15c1b20a3fc..517973bd6a2 100644 --- a/docs/content/en/open_source/upgrading/2.52.md +++ b/docs/content/en/open_source/upgrading/2.52.md @@ -21,9 +21,10 @@ If you want to be 110% sure no tasks will be lost you could perform the upgrade `docker compose down nginx, uwsgi, celerybeat` -2) Observe the logs of the celeryworker(s) and wait until all tasks are finished: +2) Observe the Redis queue and/or the logs of the celeryworker(s) and wait until all tasks are finished: -`docker compose logs celeryworker` +`docker compose exec redis redis-cli llen celery` -- should output 0 +`docker compose logs celeryworker` -- should stop outputting new task logs 3) Stop the remaining services: From 7cbada29480511393f8cc6a72a159c9147d1e2a4 Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Mon, 27 Oct 2025 19:05:38 +0100 Subject: [PATCH 09/10] Update docs/content/en/open_source/upgrading/2.52.md --- docs/content/en/open_source/upgrading/2.52.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/en/open_source/upgrading/2.52.md b/docs/content/en/open_source/upgrading/2.52.md index d43dddfe15d..cf9c16a1cd6 100644 --- a/docs/content/en/open_source/upgrading/2.52.md +++ b/docs/content/en/open_source/upgrading/2.52.md @@ -13,7 +13,7 @@ Defect Dojo 2.52 now uses ValKey as a message broker. Teh existing redit volume If you want to know more or have a setup where you cannot just re-use the existing volume, please visit https://valkey.io/topics/migration/. -When you shutdown Defect Dojo to perform the upgrade, the celery tasks that are in the queue are storede to disk. After the upgrade, the celery workers will process these tasks as normal. +When you shutdown Defect Dojo to perform the upgrade, the celery tasks that are in the queue are stored to disk. After the upgrade, the celery workers will process these tasks as normal. If you want to be 110% sure no tasks will be lost you could perform the upgrade in two steps: From 5440c5106a473ad6cdf0ca7968a30f846467b010 Mon Sep 17 00:00:00 2001 From: valentijnscholten Date: Mon, 27 Oct 2025 19:12:36 +0100 Subject: [PATCH 10/10] Revise 2.52 upgrade notes for Valkey integration Updated documentation for version 2.52 to reflect the transition from Redis to Valkey as the message broker, including UI fixes and deduplication improvements. --- docs/content/en/open_source/upgrading/2.52.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/content/en/open_source/upgrading/2.52.md b/docs/content/en/open_source/upgrading/2.52.md index 7e03e2d288d..20eef3fb214 100644 --- a/docs/content/en/open_source/upgrading/2.52.md +++ b/docs/content/en/open_source/upgrading/2.52.md @@ -5,7 +5,6 @@ weight: -20251006 description: Replaced Redis with Valkey & Helm chart changes & MobSF parser merge --- -## Valkey ## Fix UI overwriting service field from parsers The web form in the UI by default sends an empty string, which ended up overwriting the service value provided by parsers. @@ -24,7 +23,7 @@ See [PR 13517](https://github.com/DefectDojo/django-DefectDojo/pull/13517) for m A bug was fixed in the `UNIQUE_ID_OR_HASH_CODE` algorithm where it stopped processing candidate findings with equal `unique_id_from_tool` or `hash_code` value. Strictly speaking this is not a breaking change, but we wanted to make you aware that you can see more (better) more deduplicatation for parsers using this algorithm. -## Merge of MobSF parsers +## Valkey in `docker compose` Since the license change at Redis the fork ValKey has become widely popular and is backed by industry giants such as AWS. AWS is advising to use ValKey over Redis and is using lower prices for ValKey compared to Redis.