Thanks for the pointer, Evelio
For others needed something similar: I created a key in hiera, defaulting to template
$config_src = hiera("openssh_config_src", "template")
My code now looks like this:
file {
$config :
ensure => file,
owner => 0,
group => 0,
mode => 0600,
content => $config_src ? {
source => undef,
default => template("${module_name}/${config_tpl}")
},
source => $config_src ? {
source => "puppet:///private/${module_name}/sshd_config",
default => undef,
},
require => Package[$pkg_name],
notify => Service[$svc_name],
}
For unique configs I now use a fileshare called 'private' and put the files there. I think I will use the same for ntp until I find something better.