From 770a2df4e688ba7323b6ed8339f6caad88527f1a Mon Sep 17 00:00:00 2001 From: Blaize M Kaye Date: Mon, 6 Nov 2023 13:01:14 +1300 Subject: [PATCH 1/4] Support pgsql directly --- assets/settings.lagoon.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/assets/settings.lagoon.php b/assets/settings.lagoon.php index f6bfaf7..30cfd18 100644 --- a/assets/settings.lagoon.php +++ b/assets/settings.lagoon.php @@ -31,13 +31,14 @@ // Lagoon database connection. if (getenv('LAGOON')) { + $dbtype = !empty(getenv('POSTGRES_HOST')) ? 'pgsql' : 'mysql'; $databases['default']['default'] = [ - 'driver' => 'mysql', - 'database' => getenv('MARIADB_DATABASE') ?: 'drupal', - 'username' => getenv('MARIADB_USERNAME') ?: 'drupal', - 'password' => getenv('MARIADB_PASSWORD') ?: 'drupal', - 'host' => getenv('MARIADB_HOST') ?: 'mariadb', - 'port' => getenv('MARIADB_PORT') ?: 3306, + 'driver' => $dbtype, + 'database' => getenv('POSTGRES_DATABASE') ?: getenv('MARIADB_DATABASE') ?: 'drupal', + 'username' => getenv('POSTGRES_USERNAME') ?: getenv('MARIADB_USERNAME') ?: 'drupal', + 'password' => getenv('POSTGRES_PASSWORD') ?: getenv('MARIADB_PASSWORD') ?: 'drupal', + 'host' => getenv('POSTGRES_HOST') ?: getenv('MARIADB_HOST') ?: 'mariadb', + 'port' => $dbtype == 'pgsql' ? 5432 : getenv('MARIADB_PORT') ?: 3306, 'prefix' => '', ]; } From dbdc687d9af769a060f3245487d838cdb94ed81c Mon Sep 17 00:00:00 2001 From: Blaize M Kaye Date: Mon, 6 Nov 2023 13:18:42 +1300 Subject: [PATCH 2/4] Fixes parens --- assets/settings.lagoon.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/settings.lagoon.php b/assets/settings.lagoon.php index 30cfd18..b760303 100644 --- a/assets/settings.lagoon.php +++ b/assets/settings.lagoon.php @@ -37,8 +37,8 @@ 'database' => getenv('POSTGRES_DATABASE') ?: getenv('MARIADB_DATABASE') ?: 'drupal', 'username' => getenv('POSTGRES_USERNAME') ?: getenv('MARIADB_USERNAME') ?: 'drupal', 'password' => getenv('POSTGRES_PASSWORD') ?: getenv('MARIADB_PASSWORD') ?: 'drupal', - 'host' => getenv('POSTGRES_HOST') ?: getenv('MARIADB_HOST') ?: 'mariadb', - 'port' => $dbtype == 'pgsql' ? 5432 : getenv('MARIADB_PORT') ?: 3306, + 'host' => getenv('POSTGRES_HOST') ?: (getenv('MARIADB_HOST') ?: 'mariadb'), + 'port' => $dbtype == 'pgsql' ? 5432 : (getenv('MARIADB_PORT') ?: 3306), 'prefix' => '', ]; } From e95627584eb6b385828565f78ec5a68ea978032c Mon Sep 17 00:00:00 2001 From: Blaize M Kaye Date: Mon, 6 Nov 2023 14:06:04 +1300 Subject: [PATCH 3/4] Expanding to include possible mysql settings --- assets/settings.lagoon.php | 52 ++++++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/assets/settings.lagoon.php b/assets/settings.lagoon.php index b760303..2ca2daa 100644 --- a/assets/settings.lagoon.php +++ b/assets/settings.lagoon.php @@ -31,16 +31,48 @@ // Lagoon database connection. if (getenv('LAGOON')) { - $dbtype = !empty(getenv('POSTGRES_HOST')) ? 'pgsql' : 'mysql'; - $databases['default']['default'] = [ - 'driver' => $dbtype, - 'database' => getenv('POSTGRES_DATABASE') ?: getenv('MARIADB_DATABASE') ?: 'drupal', - 'username' => getenv('POSTGRES_USERNAME') ?: getenv('MARIADB_USERNAME') ?: 'drupal', - 'password' => getenv('POSTGRES_PASSWORD') ?: getenv('MARIADB_PASSWORD') ?: 'drupal', - 'host' => getenv('POSTGRES_HOST') ?: (getenv('MARIADB_HOST') ?: 'mariadb'), - 'port' => $dbtype == 'pgsql' ? 5432 : (getenv('MARIADB_PORT') ?: 3306), - 'prefix' => '', - ]; + $dbtype = getenv("DB_TYPE") ?: (!empty(getenv('POSTGRES_HOST')) ? 'pgsql' : 'mysql'); + + switch ($dbtype) { + case ('pgsql'): + $databases['default']['default'] = [ + 'driver' => 'pgsql', + 'database' => getenv('POSTGRES_DATABASE') ?: 'drupal', + 'username' => getenv('POSTGRES_USERNAME') ?: 'drupal', + 'password' => getenv('POSTGRES_PASSWORD') ?: 'drupal', + 'host' => getenv('POSTGRES_HOST') ?: 'postgresql', + 'port' => $dbtype == 'pgsql' ? 5432 : (getenv('MARIADB_PORT') ?: 3306), + 'prefix' => '', + ]; + break; + + case ('mysql'): + $databases['default']['default'] = [ + 'driver' => $dbtype, + 'database' => getenv('MYSQL_DATABASE') ?: (getenv('MARIADB_DATABASE') ?: 'lagoon'), + 'username' => getenv('MYSQL_USERNAME') ?: (getenv('MARIADB_USERNAME') ?: 'lagoon'), + 'password' => getenv('MYSQL_PASSWORD') ?: (getenv('MARIADB_PASSWORD') ?: 'lagoon'), + 'host' => getenv('MYSQL_HOST') ?: (getenv('MARIADB_HOST' ?: 'mysql')), + 'port' => getenv('MYSQL_PORT') ?: (getenv('MARIADB_PORT') ?: 3306), + 'prefix' => '', + ]; + break; + + case ('mariadb'): + // Fall through to default mariadb settings. + default: + // We default to the mariadb settings. + $databases['default']['default'] = [ + 'driver' => $dbtype, + 'database' => getenv('MARIADB_DATABASE') ?: 'drupal', + 'username' => getenv('MARIADB_USERNAME') ?: 'drupal', + 'password' => getenv('MARIADB_PASSWORD') ?: 'drupal', + 'host' => (getenv('MARIADB_HOST') ?: 'mariadb'), + 'port' => getenv('MARIADB_PORT') ?: 3306, + 'prefix' => '', + ]; + break; + } } // Lagoon reverse proxy settings. From 74526fbedf8a3fd3f77aa277baf4106e0cbe9ffc Mon Sep 17 00:00:00 2001 From: Blaize Kaye Date: Mon, 6 Nov 2023 15:31:23 +1300 Subject: [PATCH 4/4] Update assets/settings.lagoon.php Co-authored-by: Toby Bellwood --- assets/settings.lagoon.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/settings.lagoon.php b/assets/settings.lagoon.php index 2ca2daa..8437b6c 100644 --- a/assets/settings.lagoon.php +++ b/assets/settings.lagoon.php @@ -41,7 +41,7 @@ 'username' => getenv('POSTGRES_USERNAME') ?: 'drupal', 'password' => getenv('POSTGRES_PASSWORD') ?: 'drupal', 'host' => getenv('POSTGRES_HOST') ?: 'postgresql', - 'port' => $dbtype == 'pgsql' ? 5432 : (getenv('MARIADB_PORT') ?: 3306), + 'port' => getenv('POSTGRES_PORT') ?: 5432, 'prefix' => '', ]; break;