From ebd20a5e5ae7e24f598b43e83e43a27020e9ced9 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Fri, 8 Dec 2023 21:25:01 +1100 Subject: [PATCH] feat: mysql wsrep_ facts - add facts generated from mysql's wsrep status variables --- site/profiles/lib/facter/mysql_wsrep.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 site/profiles/lib/facter/mysql_wsrep.rb diff --git a/site/profiles/lib/facter/mysql_wsrep.rb b/site/profiles/lib/facter/mysql_wsrep.rb new file mode 100644 index 0000000..caf5459 --- /dev/null +++ b/site/profiles/lib/facter/mysql_wsrep.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +# skip if mysql isnt installed or active +next unless system('which mysql > /dev/null 2>&1') +next unless system('systemctl is-active --quiet mariadb') + +# export mysql wsrep status +wsrep_status = `mysql -e "SHOW STATUS LIKE 'wsrep%';"` + +# loop over the output +wsrep_status.each_line do |line| + # skip the line unless it starts with 'wsrep_' + next unless line.match(/^wsrep_/) + + key, value = line.split("\t") + Facter.add("mysql_#{key.strip}") do + setcode do + value.strip + end + end +end