From ad1968145a6f67183448e178690edf26535e0634 Mon Sep 17 00:00:00 2001 From: Florian Date: Thu, 6 Nov 2025 20:32:38 +0100 Subject: [PATCH] Fixed environment variables not being available on pod launch --- db_module/db.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/db_module/db.py b/db_module/db.py index fc1ed04..c4cae60 100644 --- a/db_module/db.py +++ b/db_module/db.py @@ -9,8 +9,6 @@ from typing import Generator db_username = return_credentials("/etc/secrets/db_username") db_password = return_credentials("/etc/secrets/db_password") -db_host = os.getenv("DB_HOST","localhost") -db_database = os.getenv("DB_DATABASE","app") logger = setup_logger(__name__) @@ -18,20 +16,24 @@ MAX_RETRIES = 10 RETRY_DELAY = 5 HEALTHCHECK_INTERVAL = 60 -MYSQL_CONFIG = { - "host": db_host, - "user": db_username, - "password": db_password, - "database": db_database, - "connection_timeout": 10 -} - _pool_lock = threading.Lock() _connection_pool = None _pool_name = "MySQLPool" _health_thread = None _stop_healthcheck = threading.Event() +def get_mysql_config(): + """Returns a MYSQL config because creating it on module import lead to the environment variable not being available""" + db_host = os.getenv("DB_HOST", "localhost") + db_database = os.getenv("DB_DATABASE","app") + return { + "host": db_host, + "user": db_username, + "password": db_password, + "database": db_database, + "connection_timeout": 10 + } + def create_connection_pool(pool_name : str = None): """ Create a MySQL connection pool. @@ -42,6 +44,7 @@ def create_connection_pool(pool_name : str = None): Raises: RuntimeError: If pool creation fails after retries. """ + MYSQL_CONFIG = get_mysql_config() global _connection_pool, _pool_name if pool_name: _pool_name = pool_name