diff --git a/manifests/common.pp b/manifests/common.pp new file mode 100644 index 0000000..d3acb7f --- /dev/null +++ b/manifests/common.pp @@ -0,0 +1,48 @@ + +# Common class +class sunetdrive::common { + include sunet::tools + include sunet::motd + include sunet::ntp + include apt + include apparmor + include sunet::packages::jq + if $::facts['sunet_nftables_enabled'] != 'yes' { + warning('Enabling UFW') + include ufw + } else { + if $facts['networking']['hostname'] =~ /^kube[wc]/ { + warning('Setting nftables to installed but disabled') + ensure_resource ('class','sunet::nftables::init', { enabled => false }) + } else { + warning('Enabling nftables') + ensure_resource ('class','sunet::nftables::init', { }) + } + } + package {'sysstat': ensure => 'latest'} + package {'needrestart': ensure => installed} + service {'sysstat': provider => 'systemd'} + file_line { 'enable_sa': + ensure => 'present', + line => 'ENABLED="true"', + path => '/etc/default/sysstat', + match => 'ENABLED="false"', + require => Package['sysstat'], + } + file_line { 'sa_cron_comment': + ensure => 'present', + line => '# Activity reports every 2 minutes everyday', + path => '/etc/cron.d/sysstat', + match => '^#\ Activity\ reports\ every\ 10\ minutes\ everyday', + require => Package['sysstat'], + notify => Service['sysstat'], + } + file_line { 'sa_cron': + ensure => 'present', + line => '*/2 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1', + path => '/etc/cron.d/sysstat', + match => '^5-55/10', + require => Package['sysstat'], + notify => Service['sysstat'], + } +}