From 227bdc14cbb7f519f446d1680d0e03c1454ac875 Mon Sep 17 00:00:00 2001
From: gifrerenom <lluis.gifre@cttc.es>
Date: Fri, 27 Jan 2023 12:35:32 +0000
Subject: [PATCH] Context component:

- added support for direct CockroachDB URI
---
 src/context/service/database/Engine.py | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/context/service/database/Engine.py b/src/context/service/database/Engine.py
index a37ec0c1e..46c1b8c25 100644
--- a/src/context/service/database/Engine.py
+++ b/src/context/service/database/Engine.py
@@ -24,15 +24,16 @@ CRDB_URI_TEMPLATE = 'cockroachdb://{:s}:{:s}@cockroachdb-public.{:s}.svc.cluster
 class Engine:
     @staticmethod
     def get_engine() -> sqlalchemy.engine.Engine:
-        CRDB_NAMESPACE = get_setting('CRDB_NAMESPACE')
-        CRDB_SQL_PORT  = get_setting('CRDB_SQL_PORT')
-        CRDB_DATABASE  = get_setting('CRDB_DATABASE')
-        CRDB_USERNAME  = get_setting('CRDB_USERNAME')
-        CRDB_PASSWORD  = get_setting('CRDB_PASSWORD')
-        CRDB_SSLMODE   = get_setting('CRDB_SSLMODE')
-
-        crdb_uri = CRDB_URI_TEMPLATE.format(
-            CRDB_USERNAME, CRDB_PASSWORD, CRDB_NAMESPACE, CRDB_SQL_PORT, CRDB_DATABASE, CRDB_SSLMODE)
+        crdb_uri = get_setting('CRDB_URI', default=None)
+        if crdb_uri is None:
+            CRDB_NAMESPACE = get_setting('CRDB_NAMESPACE')
+            CRDB_SQL_PORT  = get_setting('CRDB_SQL_PORT')
+            CRDB_DATABASE  = get_setting('CRDB_DATABASE')
+            CRDB_USERNAME  = get_setting('CRDB_USERNAME')
+            CRDB_PASSWORD  = get_setting('CRDB_PASSWORD')
+            CRDB_SSLMODE   = get_setting('CRDB_SSLMODE')
+            crdb_uri = CRDB_URI_TEMPLATE.format(
+                CRDB_USERNAME, CRDB_PASSWORD, CRDB_NAMESPACE, CRDB_SQL_PORT, CRDB_DATABASE, CRDB_SSLMODE)
 
         try:
             engine = sqlalchemy.create_engine(
-- 
GitLab