sunetdrive/manifests/multinode_db.pp

49 lines
1.8 KiB
ObjectPascal
Raw Permalink Normal View History

2023-02-27 09:14:26 +00:00
class sunetdrive::multinode_db(){
$is_multinode = true;
$environment = sunetdrive::get_environment()
$allcustomers = hiera_hash('multinode_mapping')
$customers = $allcustomers.keys
2023-02-27 09:19:34 +00:00
$customers.each |$customer| {
2023-02-27 09:14:26 +00:00
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',
}
}
2023-02-27 09:14:26 +00:00
}