diff --git a/manifests/init.pp b/manifests/init.pp index a623bac8639c3e56658576bbbf5b0836cc6973e5..8b82866fec8a7df41e32ac2a76cd844580c03cff 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -191,39 +191,50 @@ class aim_control ( class { 'mysql::server': root_password => $mysql_password, - databases => { - $db_name => { - ensure => 'present', - charset => 'utf8', - }, - }, - users => { - "${skadereg_ro_user}@%" => { - ensure => 'present', - password_hash => mysql_password($skadereg_ro_password), - }, - }, - grants => { - "${skadereg_ro_user}@%/${db_name}.*" => { - ensure => 'present', - privileges => ['SELECT'], - table => "${db_name}.*", - user => "${skadereg_ro_user}@%", - }, - 'root@%' => { - ensure => 'present', - options => ['GRANT'], - privileges => ['ALL'], - table => '*.*', - user => 'root@%', - }, - }, override_options => { - mysqld => { + 'mysqld' => { 'bind-address' => '0.0.0.0', - port => 33060, + 'port' => 33060, + 'socket' => '/var/lib/mysql/mysql.sock', # Add socket path explicitly if needed }, }, + restart => true, # Ensure server restarts to apply configuration changes + } + + # Create the database with the necessary charset + mysql::db { $db_name: + user => $skadereg_ro_user, + password => $skadereg_ro_password, + host => '%', + charset => 'utf8', + grant => ['SELECT'], + } + + # Create the root user with full privileges + mysql_user { 'root@%': + ensure => 'present', + password_hash => mysql_password($mysql_password), + } + + mysql_grant { 'root@%/*.*': + ensure => 'present', + options => ['GRANT'], + privileges => ['ALL'], + table => '*.*', + user => 'root@%', + } + + # Create the read-only user with select privileges on the database + mysql_user { "${skadereg_ro_user}@%": + ensure => 'present', + password_hash => mysql_password($skadereg_ro_password), + } + + mysql_grant { "${skadereg_ro_user}@%/${db_name}.*": + ensure => 'present', + privileges => ['SELECT'], + table => "${db_name}.*", + user => "${skadereg_ro_user}@%", } # ['entries', 'guardian_confirmations', 'users'].each |String $table| {