A resposta de Anton é provavelmente a melhor, mas este método também pode ser útil.
O Mysql suporta diretórios conf. Eu geralmente tenho uma única linha em my.cnf, incluindo /etc/mysql/conf.d/ e, em seguida, carrego configurações adicionais para preencher a funcionalidade. O Mysql usará a última instância de uma variável de configuração baseada na ordem de análise. Se você colocar seus padrões em /etc/mysql/conf.d/00_somefile.cnf, quaisquer arquivos adicionais devem substituí-los. Você pode criar um /etc/mysql/conf.d/local_changes.cnf para que fique claro onde colocá-lo.
class mysql::config {
file { 'my.cnf':
ensure => present,
path => '/etc/mysql/my.cnf
source => 'puppet:///modules/mysql/my.cnf',
}
file { '/etc/mysql/conf.d':
ensure => directory,
}
file { 'general_mysql.cnf':
ensure => present,
path => '/etc/mysql/conf.d/00_general_mysql.cnf',
content => template('mysql/general_mysql.cnf.erb'),
}
Com as informações acima, você pode continuar a publicar as alterações por meio do arquivo de configuração controlado pelo Puppet e os pesquisadores podem substituí-las conforme necessário.