diff --git a/manifests/config/file.pp b/manifests/config/file.pp new file mode 100644 index 0000000..2a69013 --- /dev/null +++ b/manifests/config/file.pp @@ -0,0 +1,31 @@ +# Configure a fluentd config file +# e.g. source, match etc. +# +define fluentd::config::file ( + $ensure = present, + $priority = 50, + $content, +) { + + $base_name = "${title}.conf" + $config_name = "${priority}-${base_name}" + $base_path = "/etc/td-agent/conf.d" + $config_path = "${base_path}/${config_name}" + + # clean up to ensure priority changes take effect + exec { "apply priority change for ${base_name}": + command => "rm ${base_path}/*-${base_name}", + onlyif => "ls ${base_path}/*-${base_name} | grep -v ${config_name}", + before => File[$config_path], + notify => Class['fluentd::service'], + } + + file { $config_path: + ensure => $ensure, + content => $content, + owner => 'td-agent', + group => 'td-agent', + mode => '0644', + notify => Class['fluentd::service'], + } +}