X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/aeaa46f3071de018b5c5e0f5678cb5b4082e3ddc..238a31cadd90bb63a5dbdc7f4406aa51d786cc9d:/cookbooks/mysql/recipes/default.rb diff --git a/cookbooks/mysql/recipes/default.rb b/cookbooks/mysql/recipes/default.rb index 99c086519..0fa3df913 100644 --- a/cookbooks/mysql/recipes/default.rb +++ b/cookbooks/mysql/recipes/default.rb @@ -18,21 +18,41 @@ # include_recipe "munin" +include_recipe "prometheus" -package "mysql-server" -package "mysql-client" +mysql_variant = if platform?("ubuntu") + "mysql" + else + "mariadb" + end -service "mysql" do +package "#{mysql_variant}-server" +package "#{mysql_variant}-client" + +service "#{mysql_variant}" do action [:enable, :start] supports :status => true, :restart => true end -template "/etc/mysql/mysql.conf.d/zzz-chef.cnf" do +template "/etc/mysql/#{mysql_variant}.conf.d/zzz-chef.cnf" do source "my.cnf.erb" owner "root" group "root" mode "644" - notifies :restart, "service[mysql]" + notifies :restart, "service[#{mysql_variant}]" +end + +service "apparmor" do + action :nothing +end + +template "/etc/apparmor.d/local/usr.sbin.mysqld" do + source "apparmor.erb" + owner "root" + group "root" + mode "644" + notifies :restart, "service[apparmor]" + only_if { ::Dir.exist?("/sys/kernel/security/apparmor") } end package "libdbd-mysql-perl" @@ -59,3 +79,17 @@ end action :delete end end + +mysql_password = persistent_token("mysql", "prometheus", "password") + +mysql_user "prometheus" do + password mysql_password + process true + repl_client true +end + +prometheus_exporter "mysqld" do + port 9104 + options "--mysqld.username=prometheus" + environment "MYSQLD_EXPORTER_PASSWORD" => mysql_password +end