class dovecot::base { package { 'dovecot': alias => 'dovecot', ensure => installed, } file { '/etc/dovecot.conf': source => [ "puppet:///modules/site-dovecot/config/${fqdn}/dovecot.conf", "puppet:///modules/site-dovecot/config/${dovecot::type}/dovecot.conf", "puppet:///modules/site-dovecot/config/dovecot.conf", "puppet:///modules/dovecot/config/${operatingsystem}/dovecot.conf", "puppet:///modules/dovecot/config/dovecot.conf" ], require => Package['dovecot'], notify => Service['dovecot'], owner => root, group => mail, mode => 0640; } file { '/var/log/dovecot': ensure => directory, require => Package['dovecot'], before => Service['dovecot'], owner => dovecot, group => dovecot, mode => 0660; [ '/var/log/dovecot/error.log', '/var/log/dovecot/infos.log' ]: require => Package['dovecot'], before => Service['dovecot'], owner => root, group => dovecot, mode => 0660; } include dovecot::logrotate service { 'dovecot': ensure => running, enable => true, } }