Well you can tell puppet to source a whole directory and put it
somewhere for you. Here is an example from our nagios application
specific manifest
<snip>
class app {
#install the app package
include app::install
include base
#generic nagios checks like memory, load, etc
include nagios::target
#application specific checks
file {'/usr/local/nagios':
ensure => 'directory',
}
file {'/usr/local/nagios/libexec/':
ensure => 'directory',
recurse => 'true', #enable recursive directory management
purge => 'true', #purge all unmanaged junk
force => 'true', #also purge subdirs and links etc.
owner => 'nagios',
group => 'nagios',
mode => '0544',
source => 'puppet:///modules/app/nagios',
}
Class['app::params'] -> Class['app']
}
</snip>
Pay attention to the file resources. You can now put
your nagios checks in *modelpath/files/nagios/*. Change the path as
/usr/local/nagios/libexec is used here for historical reasons
Hope that helps.
Best, Nikola