MySQL Server Recipe for Stored Configuraton¶
class mysql {
package { "mysql":
ensure => installed,
}
}
class mysql::server inherits mysql::client {
package { "mysql-server":
ensure => installed,
}
service { "mysqld":
ensure => running,
enable => true,
hasrestart => true,
hasstatus => true,
require => Package["mysql-server"],
}
}
This is an abbreviated puppet::server module and the puppet base module isn’t referenced here.
class puppet::server inherits puppet {
include mysql::server
package { [ "rubygem-rails", "ruby-mysql" ]:
ensure => installed,
}
exec { "create-storeconfigs-db":
command => "/usr/bin/mysqladmin create puppet",
unless => "/usr/bin/mysqlcheck -s puppet",
notify => Exec["create-storeconfigs-user"],
}
exec { "create-storeconfigs-user":
command => "/usr/bin/mysql -e 'grant all privileges on puppet.* to puppet@localhost identified by \"puppet\"'",
refreshonly => true,
}
}