sunetdrive/manifests/multinode_db.pp
2024-10-22 10:57:04 +02:00

49 lines
1.8 KiB
Puppet

class sunetdrive::multinode_db(){
$is_multinode = true;
$environment = sunetdrive::get_environment()
$allcustomers = hiera_hash('multinode_mapping')
$customers = $allcustomers.keys
$customers.each |$customer| {
file { "/etc/mariadb/backups/${customer}":
ensure => directory,
}
file { "/etc/mariadb/init/04-nextcloud.${customer}.sql":
ensure => present,
content => "CREATE SCHEMA nextcloud_${customer};\nCREATE USER 'nextcloud_${customer}'@'%' IDENTIFIED BY '${hiera("${customer}_mysql_user_password")}';\nGRANT ALL PRIVILEGES ON nextcloud_${customer}.* TO 'nextcloud_${customer}'@'%' IDENTIFIED BY '${hiera("${customer}_mysql_user_password")}';\n",
mode => '0744',
}
}
if $facts["networking"]["fqdn"] =~ /^multinode-db1\.drive\.(test\.){1}sunet\.se$/ {
notify { 'hostmessage':
message => 'We are on multinode-db1. Set up statistics environment.',
}
$rclone_url = 'https://downloads.rclone.org/rclone-current-linux-amd64.deb'
$local_path = '/tmp/rclone-current-linux-amd64.deb'
exec { 'rclone_deb':
command => "/usr/bin/wget -q ${rclone_url} -O ${local_path}",
creates => $local_path,
}
package { 'rclone':
ensure => installed,
provider => dpkg,
source => $local_path,
require => Exec['rclone_deb'],
}
file { '/root/.rclone.conf':
ensure => file,
content => template('sunetdrive/mariadb_backup/rclone.conf.erb'),
owner => 'root',
group => 'root',
mode => '0600',
}
file { '/root/tasks/listusersbydep.sh':
ensure => file,
content => template('sunetdrive/mariadb/listusersdep.sh.erb'),
owner => 'root',
group => 'root',
mode => '0700',
}
}
}