From 1b031eb4c9477c31f2eae3eef857a31b318fda08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Mon, 3 Nov 2025 00:32:03 +0300 Subject: [PATCH 1/3] Merge db settings in settings/docker.py * We don't benefit from having separate definitions * Pycharm was marking this code block with "replace dictionary creation" recommendation --- djangoproject/settings/docker.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/djangoproject/settings/docker.py b/djangoproject/settings/docker.py index 1484a008e2..931ca57b03 100644 --- a/djangoproject/settings/docker.py +++ b/djangoproject/settings/docker.py @@ -8,18 +8,17 @@ "PASSWORD": os.environ.get("SQL_PASSWORD"), "HOST": os.environ.get("SQL_HOST"), "PORT": os.environ.get("SQL_PORT"), - } + }, + "trac": { + "ENGINE": "django.db.backends.postgresql", + "NAME": os.environ.get("TRAC_DATABASE", "code.djangoproject"), + "USER": os.environ.get("TRAC_USER", "code.djangoproject"), + "PASSWORD": os.environ.get("TRAC_PASSWORD", ""), + "HOST": os.environ.get("TRAC_HOST", "db"), + "PORT": os.environ.get("TRAC_PORT", "5432"), + }, } -# Trac connection -DATABASES["trac"] = { - "ENGINE": "django.db.backends.postgresql", - "NAME": os.environ.get("TRAC_DATABASE", "code.djangoproject"), - "USER": os.environ.get("TRAC_USER", "code.djangoproject"), - "PASSWORD": os.environ.get("TRAC_PASSWORD", ""), - "HOST": os.environ.get("TRAC_HOST", "db"), - "PORT": os.environ.get("TRAC_PORT", "5432"), -} SECRET_KEY = os.environ.get("SECRET_KEY") From 59fc94e5528d6c49d6acdb21675049046f8653af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Mon, 3 Nov 2025 00:41:29 +0300 Subject: [PATCH 2/3] No need to use .get() for Docker env values These are provided by docker-compose.yml file, no default is needed. --- djangoproject/settings/docker.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/djangoproject/settings/docker.py b/djangoproject/settings/docker.py index 931ca57b03..737d2053d1 100644 --- a/djangoproject/settings/docker.py +++ b/djangoproject/settings/docker.py @@ -2,20 +2,20 @@ DATABASES = { "default": { - "ENGINE": os.environ.get("SQL_ENGINE"), - "NAME": os.environ.get("SQL_DATABASE"), - "USER": os.environ.get("SQL_USER"), - "PASSWORD": os.environ.get("SQL_PASSWORD"), - "HOST": os.environ.get("SQL_HOST"), - "PORT": os.environ.get("SQL_PORT"), + "ENGINE": os.environ["SQL_ENGINE"], + "NAME": os.environ["SQL_DATABASE"], + "USER": os.environ["SQL_USER"], + "PASSWORD": os.environ["SQL_PASSWORD"], + "HOST": os.environ["SQL_HOST"], + "PORT": os.environ["SQL_PORT"], }, "trac": { "ENGINE": "django.db.backends.postgresql", - "NAME": os.environ.get("TRAC_DATABASE", "code.djangoproject"), - "USER": os.environ.get("TRAC_USER", "code.djangoproject"), - "PASSWORD": os.environ.get("TRAC_PASSWORD", ""), - "HOST": os.environ.get("TRAC_HOST", "db"), - "PORT": os.environ.get("TRAC_PORT", "5432"), + "NAME": os.environ["TRAC_DATABASE"], + "USER": os.environ["TRAC_USER"], + "PASSWORD": os.environ["TRAC_PASSWORD"], + "HOST": os.environ["TRAC_HOST"], + "PORT": os.environ["TRAC_PORT"], }, } From bad8373282c3fe7c1722df0a2bd2d8ae7710980f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Clgen=20Sar=C4=B1kavak?= Date: Mon, 3 Nov 2025 01:57:55 +0300 Subject: [PATCH 3/3] Don't allow to configure hardcoded user name --- djangoproject/settings/docker.py | 3 ++- docker-compose.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/djangoproject/settings/docker.py b/djangoproject/settings/docker.py index 737d2053d1..ed5a8b7f29 100644 --- a/djangoproject/settings/docker.py +++ b/djangoproject/settings/docker.py @@ -12,7 +12,8 @@ "trac": { "ENGINE": "django.db.backends.postgresql", "NAME": os.environ["TRAC_DATABASE"], - "USER": os.environ["TRAC_USER"], + # "code.djangoproject" value is hardcoded in trac.sql + "USER": "code.djangoproject", "PASSWORD": os.environ["TRAC_PASSWORD"], "HOST": os.environ["TRAC_HOST"], "PORT": os.environ["TRAC_PORT"], diff --git a/docker-compose.yml b/docker-compose.yml index ff6432b79c..e426cd36b4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,7 +23,8 @@ services: - SQL_HOST=db - SQL_PORT=5432 - TRAC_DATABASE=code.djangoproject - - TRAC_USER=code.djangoproject + # "code.djangoproject" value is hardcoded in trac.sql, no need to pass it via env vars + # - TRAC_USER=code.djangoproject - TRAC_PASSWORD=secret - TRAC_HOST=db - TRAC_PORT=5432