diff options
Diffstat (limited to 'manifests/server')
-rw-r--r-- | manifests/server/centos.pp | 14 | ||||
-rw-r--r-- | manifests/server/clientpackage.pp | 25 | ||||
-rw-r--r-- | manifests/server/cron/backup.pp | 19 | ||||
-rw-r--r-- | manifests/server/cron/optimize.pp | 32 | ||||
-rw-r--r-- | manifests/server/debian.pp | 26 | ||||
-rw-r--r-- | manifests/server/gentoo.pp | 9 | ||||
-rw-r--r-- | manifests/server/nagios.pp | 11 |
7 files changed, 74 insertions, 62 deletions
diff --git a/manifests/server/centos.pp b/manifests/server/centos.pp index 445aeba..a55a57f 100644 --- a/manifests/server/centos.pp +++ b/manifests/server/centos.pp @@ -1,9 +1,9 @@ +# centos specific things class mysql::server::centos inherits mysql::server::clientpackage { - Service['mysql']{ - name => 'mysqld', - } - File['mysql_main_cnf']{ - path => '/etc/my.cnf', - } - + Service['mysql']{ + name => 'mysqld', + } + File['mysql_main_cnf']{ + path => '/etc/my.cnf', + } } diff --git a/manifests/server/clientpackage.pp b/manifests/server/clientpackage.pp index 1d20ae9..2c89165 100644 --- a/manifests/server/clientpackage.pp +++ b/manifests/server/clientpackage.pp @@ -1,14 +1,15 @@ +# include client package class mysql::server::clientpackage inherits mysql::server::base { - class { 'mysql::client': - manage_shorewall => $mysql::server::manage_shorewall - } - File['mysql_setmysqlpass.sh']{ - require +> Package['mysql-client'], - } - File['mysql_root_cnf']{ - require +> Package['mysql-client'], - } - Exec['mysql_set_rootpw']{ - require +> Package['mysql-client'], - } + class { 'mysql::client': + manage_shorewall => $mysql::server::manage_shorewall + } + File['mysql_setmysqlpass.sh']{ + require +> Package['mysql-client'], + } + File['mysql_root_cnf']{ + require +> Package['mysql-client'], + } + Exec['mysql_set_rootpw']{ + require +> Package['mysql-client'], + } } diff --git a/manifests/server/cron/backup.pp b/manifests/server/cron/backup.pp index 194b4cd..671ad9c 100644 --- a/manifests/server/cron/backup.pp +++ b/manifests/server/cron/backup.pp @@ -1,18 +1,21 @@ +# setup a basic cronjob to backup mysql database class mysql::server::cron::backup { if $mysql::server::manage_backup_dir { file { 'mysql_backup_dir': - path => $mysql::server::backup_dir, - ensure => directory, - before => Cron['mysql_backup_cron'], - owner => root, group => 0, mode => 0700; + ensure => directory, + path => $mysql::server::backup_dir, + before => Cron['mysql_backup_cron'], + owner => root, + group => 0, + mode => '0700'; } } cron { 'mysql_backup_cron': command => "/usr/bin/mysqldump --default-character-set=utf8 --all-databases --create-options --flush-logs --lock-tables --single-transaction | gzip > ${mysql::server::backup_dir}/mysqldump.sql.gz && chmod 600 ${mysql::server::backup_dir}/mysqldump.sql.gz", - user => 'root', - minute => 0, - hour => 1, + user => 'root', + minute => 0, + hour => 1, require => [ Exec['mysql_set_rootpw'], File['mysql_root_cnf'] ], - } + } } diff --git a/manifests/server/cron/optimize.pp b/manifests/server/cron/optimize.pp index c238930..d1d0257 100644 --- a/manifests/server/cron/optimize.pp +++ b/manifests/server/cron/optimize.pp @@ -1,18 +1,22 @@ +# optimize mysql databases regurarely class mysql::server::cron::optimize { - file { 'mysql_optimize_script': - path => '/usr/local/sbin/optimize_mysql_tables.rb', - source => "puppet:///modules/mysql/scripts/optimize_tables.rb", - owner => root, group => 0, mode => 0700; - } - - cron { 'mysql_optimize_cron': - command => '/usr/local/sbin/optimize_mysql_tables.rb', - user => 'root', - minute => 40, - hour => 6, - weekday => 7, - require => [ Exec['mysql_set_rootpw'], File['mysql_root_cnf'], File['mysql_optimize_script'] ], - } + file { 'mysql_optimize_script': + path => '/usr/local/sbin/optimize_mysql_tables.rb', + source => 'puppet:///modules/mysql/scripts/optimize_tables.rb', + owner => root, + group => 0, + mode => '0700'; + } + cron { 'mysql_optimize_cron': + command => '/usr/local/sbin/optimize_mysql_tables.rb', + user => 'root', + minute => 40, + hour => 6, + weekday => 7, + require => [ Exec['mysql_set_rootpw'], + File['mysql_root_cnf'], + File['mysql_optimize_script'] ], + } } diff --git a/manifests/server/debian.pp b/manifests/server/debian.pp index 44f61ed..d950a34 100644 --- a/manifests/server/debian.pp +++ b/manifests/server/debian.pp @@ -1,14 +1,16 @@ +# debian specific stuff class mysql::server::debian inherits mysql::server::clientpackage { - File['mysql_data_dir'] { - path => '/var/lib/mysql', - } - File['mysql_ibdata1'] { - path => '/var/lib/mysql/ibdata1', - } - file { 'mysql_debian_cnf': - path => '/etc/mysql/debian.cnf', - ensure => file, - notify => Service['mysql'], - owner => root, group => 0, mode => 0600; - } + File['mysql_data_dir'] { + path => '/var/lib/mysql', + } + File['mysql_ibdata1'] { + path => '/var/lib/mysql/ibdata1', + } + file { 'mysql_debian_cnf': + path => '/etc/mysql/debian.cnf', + notify => Service['mysql'], + owner => root, + group => 0, + mode => '0600'; + } } diff --git a/manifests/server/gentoo.pp b/manifests/server/gentoo.pp index 0294b11..bff86ca 100644 --- a/manifests/server/gentoo.pp +++ b/manifests/server/gentoo.pp @@ -1,6 +1,7 @@ +# gentoo specific things class mysql::server::gentoo inherits mysql::server::base { - Package['mysql-server'] { - alias => 'mysql', - category => 'dev-db', - } + Package['mysql-server'] { + alias => 'mysql', + category => 'dev-db', + } } diff --git a/manifests/server/nagios.pp b/manifests/server/nagios.pp index 39af429..944e0dd 100644 --- a/manifests/server/nagios.pp +++ b/manifests/server/nagios.pp @@ -1,3 +1,4 @@ +# setup nagios check for mysql class mysql::server::nagios { # Flip this variable if you need to check MySQL through check_ssh or check_nrpe, # in that case you will have to manually define nagios::service::mysql @@ -6,20 +7,20 @@ class mysql::server::nagios { } else { $nagios_mysql_user = 'nagios@%' nagios::service::mysql { 'connection-time': - check_host => $::fqdn, - require => Mysql_grant[$nagios_mysql_user], + check_host => $::fqdn, + require => Mysql_grant[$nagios_mysql_user], } } mysql_user{$nagios_mysql_user: password_hash => trocla("mysql_nagios_${::fqdn}",'mysql','length: 32'), - require => Package['mysql'], + require => Package['mysql'], } # repl_client_priv is needed to check the replication slave status # modes: slave-lag, slave-io-running and slave-sql-running mysql_grant{$nagios_mysql_user: - privileges => [ 'select_priv', 'repl_client_priv' ], - require => [ Mysql_user[$nagios_mysql_user], Package['mysql'] ], + privileges => [ 'select_priv', 'repl_client_priv' ], + require => [ Mysql_user[$nagios_mysql_user], Package['mysql'] ], } } |