feat: add database generation to grafana

- ensure a database, user and credential is created for each grafana node
- ensure all databases for a region are included in a mariadb cluster
- refine params with stdlib types
This commit is contained in:
2024-06-16 00:41:02 +10:00
parent 0fe05bb896
commit 62cac63f11
9 changed files with 163 additions and 17 deletions
@@ -31,6 +31,7 @@ class profiles::sql::galera_member (
String $package_name = 'mariadb-server',
Boolean $epel_needed = false,
Boolean $manage_repo = true,
Hash $databases = lookup('mysql::db'),
) {
# check that the master is named
@@ -209,6 +210,20 @@ class profiles::sql::galera_member (
override_options => $merged_overrides,
}
# import databases for this region
Mysql::Db <<| tag == $facts['region'] |>>
# create databases from hiera
$databases.each |$name, $data| {
mysql::db {$name:
* => $data,
}
}
# import users/grants for this region
Mysql_user <<| tag == $facts['region'] |>>
Mysql_grant <<| tag == $facts['region'] |>>
}else{
notice("${title} requires the servers_array to have 3 or more, currently it is ${length($servers_array)}.")
}