class mail::dovecot { group { 'dovecot': ensure => present, } user { 'dovecot': ensure => present, gid => 'dovecot', require => Group['dovecot'], } service { "dovecot": ensure => running, require => [ Package['dovecot-imapd'], File['/etc/dovecot/dovecot.conf', '/etc/dovecot/dovecot-sql.conf'], User['dovecot'], ], } file { "/etc/dovecot/dovecot.conf": ensure => present, owner => root, group => vmail, mode => '0644', content => template("mail/dovecot/dovecot.conf.${::lsbdistcodename}.erb"), notify => Service['dovecot'], } file { "/etc/dovecot/dovecot-sql.conf": ensure => present, owner => root, group => root, mode => '0600', content => template('mail/dovecot/dovecot-sql.conf.erb'), notify => Service['dovecot'], } }