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