From 60cb53e631d9a09c76ff423766a661c0dca64107 Mon Sep 17 00:00:00 2001 From: Magnus Andersson Date: Fri, 30 Aug 2024 08:57:17 +0200 Subject: [PATCH] multinode-db1: Add logic and template to create userlists by department. --- manifests/multinode_db.pp | 10 ++++++++++ templates/mariadb/genuserdeplists.sh.erb | 12 ++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 templates/mariadb/genuserdeplists.sh.erb diff --git a/manifests/multinode_db.pp b/manifests/multinode_db.pp index 189787a..929a885 100644 --- a/manifests/multinode_db.pp +++ b/manifests/multinode_db.pp @@ -18,6 +18,9 @@ class sunetdrive::multinode_db(){ notify { 'hostmessage': message => "We are on multinode-db1. Set up statistics environment.", } + $custdata=$customers.reduce({}) |$memo, $value| { + $memo + {$value => lookup($value)} + } $rclone_url = 'https://downloads.rclone.org/rclone-current-linux-amd64.deb' $local_path = '/tmp/rclone-current-linux-amd64.deb' exec { 'rclone_deb': @@ -44,5 +47,12 @@ class sunetdrive::multinode_db(){ group => 'root', mode => '0700', } + file { '/root/tasks/genusersondepartmentlists.sh': + ensure => file, + content => template('sunetdrive/mariadb/genuserdeplists.sh.erb'), + owner => 'root', + group => 'root', + mode => '0700', + } } } diff --git a/templates/mariadb/genuserdeplists.sh.erb b/templates/mariadb/genuserdeplists.sh.erb new file mode 100644 index 0000000..dc2f5eb --- /dev/null +++ b/templates/mariadb/genuserdeplists.sh.erb @@ -0,0 +1,12 @@ +#!/bin/bash + +<% @custdata.each do |cust,data| -%> +#Customer <%= cust %> has no billing departments. +<% if defined?(data[@environment]["billdomains"]) && data[@environment]["billdomains"] -%> +mkdir -p /opt/mariadb/statistics/users/<%= cust %> +chmod '0700' /opt/mariadb/statistics/users/<%= cust %> +<% data[@environment]["billdomains"].each do |dom| -%> + /root/tasks/listusersbydep.sh <%= cust %> <%= dom %> > /opt/mariadb/statistics/users/<%= cust %>/users-<%= dom.gsub(/[.]/, '-') %>.json +<% end -%> +<% end -%> +<% end -%>