From ff7343babe7bbd2de36f77aba73e485340b6d58f Mon Sep 17 00:00:00 2001 From: Tobias Herre Date: Fri, 6 Oct 2023 23:05:35 +0200 Subject: [PATCH] Initial commit --- mysql.cf | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 mysql.cf diff --git a/mysql.cf b/mysql.cf new file mode 100644 index 0000000..eb3a042 --- /dev/null +++ b/mysql.cf @@ -0,0 +1,69 @@ +# +# +# + +bundle agent mysql +{ +vars: + "bind_address" string => "127.0.0.1"; + "user" string => "mysql"; + "port" string => "3306"; + + freebsd:: +# "pkg" string => "mariadb106-server"; + "pkg" string => "mysql80-server"; + "service_name" string => "mysql-server"; + "cfg_file" string => "/usr/local/etc/mysql/my.cnf"; + "mysql_cmd" string => "/usr/local/bin/mysql"; + debian:: + "pkg" string => "mariadb-server"; + "service_name" string => "mysql"; + "cfg_file" string => "/etc/mysql/my.cnf"; + "mysql_cmd" string => "/usr/bin/mysql"; + +files: + "$(cfg_file)" + create => "true", + perms => m("644"), + edit_template => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/my.cnf.mustache", + template_method => "mustache", + handle => "mysql_cfg_created", + depends_on => {"mysql_pkgs_installed"}, + classes => if_repaired("mysql_repaired"); + + +methods: + "any" usebundle => wmde_install_packages("$(mysql.pkg)","mysql"); + +services: + "$(service_name)" + depends_on => {"mysql_pkgs_installed"}, + service_policy => "start", + handle => "mysql_running"; + + mysql_repaired:: + "$(service_name)" + service_policy => "restart", + depends_on => {"mysql_running","mysql_cfg_created"}; + + +} + +bundle agent create_mysql_db(cfg) +{ +vars: + "db_name" string => "$(cfg[db_name])"; + "db_user" string => "$(cfg[db_user])"; + "host" string => "$(cfg[db_user_host])"; + "db_pass" string => "$(cfg[db_pass])"; + + "args" string => "-e \"CREATE DATABASE IF NOT EXISTS $(db_name); GRANT ALL PRIVILEGES ON $(db_name).* TO '$(db_user)'@'$(host)' IDENTIFIED BY '$(db_pass)'; \" "; + +commands: + debian:: + "$(mysql.mysql_cmd)" + args => "$(args)", + inform => "false"; + +reports: +}