diff --git a/Dockerfile b/Dockerfile index 022517b16121b13ac3a34651cf4afc73c49e9c26..89c4bec44098cc825827065b83c962c0b818cfb6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -81,6 +81,7 @@ RUN mkdir /app/logs /app/project_data WORKDIR /app/gracedb_project RUN DJANGO_SETTINGS_MODULE=${SETTINGS_MODULE} \ DJANGO_DB_NAME=fake_name \ + DJANGO_DB_USER=fake_user \ DJANGO_DB_PASSWORD=fake_password \ DJANGO_SECRET_KEY=fake_key \ DJANGO_PRIMARY_FQDN=fake_fqdn \ diff --git a/config/settings/container/base.py b/config/settings/container/base.py index d280da51ac99f55f6205e5ab89a0d26add4105cb..e98885fca996fb78d8b88c64366c7adfbb73ac5a 100644 --- a/config/settings/container/base.py +++ b/config/settings/container/base.py @@ -1,11 +1,15 @@ # For running a containerized version of the service that gets secrets # from environment variables. Builds on base.py settings. - import os from django.core.exceptions import ImproperlyConfigured from ..base import * # Get required variables from environment variables --------------------------- +# Get database user from environment and check +db_user = os.environ.get('DJANGO_DB_USER', None) +if db_user is None: + raise ImproperlyConfigured('Could not get database user from envvars.') + # Get database password from environment and check db_password = os.environ.get('DJANGO_DB_PASSWORD', None) if db_password is None: @@ -72,7 +76,7 @@ DATABASES = { 'default' : { 'NAME': db_name, 'ENGINE': 'django.db.backends.mysql', - 'USER': os.environ.get('DJANGO_DB_USER', 'gracedb'), + 'USER': db_user, 'PASSWORD': db_password, 'HOST': os.environ.get('DJANGO_DB_HOST', ''), 'PORT': os.environ.get('DJANGO_DB_PORT', ''), diff --git a/config/settings/container/dev.py b/config/settings/container/dev.py index cf1447dfef7f1966843438b64fabd1a2b440848f..cec44196814f03625b81a9d10cf9bc418e2713a0 100644 --- a/config/settings/container/dev.py +++ b/config/settings/container/dev.py @@ -1,5 +1,4 @@ # Settings for a test/dev GraceDB instance running in a container -#import socket from .base import * CONFIG_NAME = "TEST" diff --git a/config/settings/container/production.py b/config/settings/container/production.py index d12ab745a1e32cb8f40a5ac6baf6f14dc283f9c2..4d4e5abfde00db8b1e202ac23d6634f82138051d 100644 --- a/config/settings/container/production.py +++ b/config/settings/container/production.py @@ -1,5 +1,4 @@ # Settings for a production GraceDB instance running in a container -import copy from django.core.exceptions import ImproperlyConfigured from .base import * @@ -35,6 +34,10 @@ else: if replica_db_name is None: raise ImproperlyConfigured('Could not get replica database name from ' 'envvars.') + replica_db_user = os.environ.get('DJANGO_REPLICA_DB_USER', None) + if replica_db_user is None: + raise ImproperlyConfigured('Could not get replica database user ' + 'from envvars.') replica_db_password = os.environ.get('DJANGO_REPLICA_DB_PASSWORD', None) if replica_db_password is None: raise ImproperlyConfigured('Could not get replica database password ' @@ -44,7 +47,7 @@ else: read_replica = { 'NAME': replica_db_name, 'ENGINE': 'django.db.backends.mysql', - 'USER': os.environ.get('DJANGO_REPLICA_DB_USER', 'gracedb'), + 'USER': replica_db_user, 'PASSWORD': replica_db_password, 'HOST': os.environ.get('DJANGO_REPLICA_DB_HOST', ''), 'PORT': os.environ.get('DJANGO_REPLICA_DB_PORT', ''),