# == Class: rsyslog::server # # This class configures rsyslog for a server role. # # === Parameters # # [*enable_tcp*] # [*enable_udp*] # [*enable_onefile*] # [*server_dir*] # [*custom_config*] # [*high_precision_timestamps*] # [*ssl_ca*] # [*ssl_cert*] # [*ssl_key*] # # === Variables # # === Examples # # Defaults # # class { 'rsyslog::server': } # # Create seperate directory per host # # class { 'rsyslog::server': # custom_config => 'rsyslog/server-hostname.conf.erb' # } # class rsyslog::server ( $enable_tcp = true, $enable_udp = true, $enable_onefile = false, $server_dir = '/srv/log/', $custom_config = undef, $port = '514', $high_precision_timestamps = false, $ssl_ca = undef, $ssl_cert = undef, $ssl_key = undef, $rotate = undef ) inherits rsyslog { ### Logrotate policy $logpath = $rotate ? { 'year' => '/%$YEAR%/', 'YEAR' => '/%$YEAR%/', 'month' => '/%$YEAR%/%$MONTH%/', 'MONTH' => '/%$YEAR%/%$MONTH%/', 'day' => '/%$YEAR%/%$MONTH%/%$DAY%/', 'DAY' => '/%$YEAR%/%$MONTH%/%$DAY%/', default => '/', } if $custom_config { $real_content = template($custom_config) } else { $real_content = template("${module_name}/server-default.conf.erb") } rsyslog::snippet { $rsyslog::server_conf: ensure => present, content => $real_content, } if $rsyslog::ssl and (!$enable_tcp or $ssl_ca == undef or $ssl_cert == undef or $ssl_key == undef) { fail('You need to define all the ssl options and enable tcp in order to use SSL.') } }