From a5564b3498874bce3a163a193294abf356cd0786 Mon Sep 17 00:00:00 2001 From: nate Date: Tue, 3 Feb 2026 14:46:19 -0500 Subject: [PATCH 1/6] allow setting a db_host parameter the database may be elsewhere, like hosted via RDS, so accommodate this. --- manifests/database.pp | 2 +- manifests/init.pp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/manifests/database.pp b/manifests/database.pp index e9915dd..75ffd79 100644 --- a/manifests/database.pp +++ b/manifests/database.pp @@ -7,7 +7,7 @@ ensure => 'present', user => $xdmod::database_user, password => $xdmod::database_password, - host => $xdmod::web_host, + host => $xdmod::db_host, charset => 'latin1', collate => 'latin1_swedish_ci', grant => ['ALL'], diff --git a/manifests/init.pp b/manifests/init.pp index 33185a2..bc782b1 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -66,6 +66,8 @@ # AKRR database password # @param web_host # FQDN of web host +# @param db_host +# FQDN of db host # @param akrr_host # FQDN of AKRR host # @param scheduler @@ -301,6 +303,7 @@ String $akrr_database_user = 'akrr', String $akrr_database_password = 'changeme', String $web_host = 'localhost', + String $db_host = 'localhost', String $akrr_host = 'localhost', Enum['slurm','torque','pbs','sge'] $scheduler = 'slurm', Optional[Variant[String, Array]] From d8c9ac6ab041327cabd8e99d32de2dab7aeb8dad Mon Sep 17 00:00:00 2001 From: nate Date: Tue, 3 Feb 2026 15:19:52 -0500 Subject: [PATCH 2/6] only include the mysql::server class if serving db on same host this is probably fragile. --- manifests/database.pp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/manifests/database.pp b/manifests/database.pp index 75ffd79..cd41412 100644 --- a/manifests/database.pp +++ b/manifests/database.pp @@ -1,7 +1,12 @@ # @summary Manage XDMoD databases # @api private class xdmod::database { - include mysql::server + if $xdmod::db_host = 'localhost' { + include mysql::server + } else { + include mysql::client + } + Mysql::Db { ensure => 'present', From 802cb01ce0db5d1599bee850e6c65d9ee4a37736 Mon Sep 17 00:00:00 2001 From: nate Date: Tue, 3 Feb 2026 15:39:18 -0500 Subject: [PATCH 3/6] edit comparison --- manifests/database.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/database.pp b/manifests/database.pp index cd41412..8e5e893 100644 --- a/manifests/database.pp +++ b/manifests/database.pp @@ -1,7 +1,7 @@ # @summary Manage XDMoD databases # @api private class xdmod::database { - if $xdmod::db_host = 'localhost' { + if $xdmod::db_host.match(/'localhost'|'127.0.0.1'/) { include mysql::server } else { include mysql::client From 89fac6c0c342391e0cb8bd44daa189b1e60b0231 Mon Sep 17 00:00:00 2001 From: nate Date: Tue, 3 Feb 2026 16:05:53 -0500 Subject: [PATCH 4/6] inherit the params --- manifests/database.pp | 4 ++-- manifests/params.pp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/manifests/database.pp b/manifests/database.pp index 8e5e893..4ee0cfb 100644 --- a/manifests/database.pp +++ b/manifests/database.pp @@ -1,7 +1,7 @@ # @summary Manage XDMoD databases # @api private -class xdmod::database { - if $xdmod::db_host.match(/'localhost'|'127.0.0.1'/) { +class xdmod::database inherits xdmod::params { + if $xdmod::params::db_host.match(/'localhost'|'127.0.0.1'/) { include mysql::server } else { include mysql::client diff --git a/manifests/params.pp b/manifests/params.pp index 5a9567e..7e15204 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -8,7 +8,8 @@ $sender_email = "xdmod@xdmod.${facts['networking']['domain']}" $apache_vhost_name = "xdmod.${facts['networking']['domain']}" $portal_settings = {} - $hierarchy_levels = { + $db_host = 'localhost' + $hierarchy_levels = { 'top' => { 'label' => 'Hierarchy Top Level', 'info' => '' }, 'middle' => { 'label' => 'Hierarchy Middle Level', 'info' => '' }, 'bottom' => { 'label' => 'Hierarchy Bottom Level', 'info' => '' }, From 5b4cdb6bee7c3896ab70f49d0e5d7dd56d9c6602 Mon Sep 17 00:00:00 2001 From: nate Date: Tue, 3 Feb 2026 16:07:12 -0500 Subject: [PATCH 5/6] inherit params --- manifests/init.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/init.pp b/manifests/init.pp index bc782b1..13ef743 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -303,7 +303,7 @@ String $akrr_database_user = 'akrr', String $akrr_database_password = 'changeme', String $web_host = 'localhost', - String $db_host = 'localhost', + String $db_host = $xdmod::params::db_host, String $akrr_host = 'localhost', Enum['slurm','torque','pbs','sge'] $scheduler = 'slurm', Optional[Variant[String, Array]] From 148ff2837283895ec1098c6ed2197f9f53590b17 Mon Sep 17 00:00:00 2001 From: nate Date: Wed, 4 Feb 2026 16:42:59 -0500 Subject: [PATCH 6/6] use db_grant_host setting grants based on the db host didn't make sense. connections are coming from some other host. i really want to use iam permissions here instead, because this is for the birds. --- manifests/database.pp | 2 +- manifests/init.pp | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/manifests/database.pp b/manifests/database.pp index 4ee0cfb..d4708af 100644 --- a/manifests/database.pp +++ b/manifests/database.pp @@ -12,7 +12,7 @@ ensure => 'present', user => $xdmod::database_user, password => $xdmod::database_password, - host => $xdmod::db_host, + host => $xdmod::db_grant_host, charset => 'latin1', collate => 'latin1_swedish_ci', grant => ['ALL'], diff --git a/manifests/init.pp b/manifests/init.pp index 13ef743..7e48b7b 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -68,6 +68,8 @@ # FQDN of web host # @param db_host # FQDN of db host +# @param db_grant_host +# host part when assigning db grants # @param akrr_host # FQDN of AKRR host # @param scheduler @@ -293,17 +295,17 @@ Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl] $appkernels_package_url = $xdmod::params::appkernels_package_url, String $xdmod_supremm_package_name = $xdmod::params::xdmod_supremm_package_name, - Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl] - $xdmod_supremm_package_url = $xdmod::params::xdmod_supremm_package_url, + Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl] $xdmod_supremm_package_url = $xdmod::params::xdmod_supremm_package_url, String[1] $php_mongodb_version = '1.16.2', - String $database_host = '127.0.0.1', - Integer $database_port = 3306, - String $database_user = 'xdmod', - String $database_password = 'changeme', - String $akrr_database_user = 'akrr', - String $akrr_database_password = 'changeme', - String $web_host = 'localhost', - String $db_host = $xdmod::params::db_host, + String $database_host = '127.0.0.1', + Integer $database_port = 3306, + String $database_user = 'xdmod', + String $database_password = 'changeme', + String $akrr_database_user = 'akrr', + String $akrr_database_password = 'changeme', + String $web_host = 'localhost', + String $db_host = $xdmod::params::db_host, + String $db_grant_host = '%', String $akrr_host = 'localhost', Enum['slurm','torque','pbs','sge'] $scheduler = 'slurm', Optional[Variant[String, Array]]