Puppet: System Administration Automated

Puppet Training Schedule
Next Class July 27-29
New York, New York
Discount before July 1st

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,
    }
}