manage configuration snippets in a conf.d directory
this should make it easier to override values from my.cnf, or to set other values that aren't in the main config file.
This commit is contained in:
parent
6d9a846867
commit
fc6458e9e4
3 changed files with 53 additions and 0 deletions
36
manifests/conf.pp
Normal file
36
manifests/conf.pp
Normal file
|
@ -0,0 +1,36 @@
|
|||
# $config needs to be a hash of key => value pairs.
|
||||
#
|
||||
# values in config are output as key = value, except when the value is empty;
|
||||
# then just key is output. if you need to output an empty value in the form
|
||||
# key = value, then you can specify empty quotes as the value (see example).
|
||||
#
|
||||
# mysql::conf { 'test':
|
||||
# ensure => present,
|
||||
# section => 'mysqld',
|
||||
# config => {
|
||||
# table_cache => '15000',
|
||||
# skip_slave => '',
|
||||
# something => '""',
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# This will generate the following contents:
|
||||
# [mysqld]
|
||||
# skip_slave
|
||||
# something = ""
|
||||
# table_cache = 15000
|
||||
#
|
||||
define mysql::conf (
|
||||
$section,
|
||||
$config,
|
||||
$ensure = present
|
||||
) {
|
||||
|
||||
include mysql::server::base
|
||||
|
||||
file { "/etc/mysql/conf.d/${name}.cnf":
|
||||
ensure => $ensure,
|
||||
content => template('mysql/conf.erb'),
|
||||
}
|
||||
|
||||
}
|
|
@ -88,4 +88,12 @@ class mysql::server::base {
|
|||
Mysql_user<<| tag == "mysql_${::fqdn}" |>>
|
||||
Mysql_grant<<| tag == "mysql_${::fqdn}" |>>
|
||||
}
|
||||
|
||||
file { '/etc/mysql/conf.d':
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 0,
|
||||
mode => '0755',
|
||||
}
|
||||
|
||||
}
|
||||
|
|
9
templates/conf.erb
Normal file
9
templates/conf.erb
Normal file
|
@ -0,0 +1,9 @@
|
|||
# THIS FILE IS MANAGED BY PUPPET
|
||||
[<%= @section -%>]
|
||||
<% @config.each do |key, value| -%>
|
||||
<% if value != '' -%>
|
||||
<%= key -%> = <%= value %>
|
||||
<% else -%>
|
||||
<%= key %>
|
||||
<% end -%>
|
||||
<% end %>
|
Loading…
Reference in a new issue