class ejabberd::base { package{'ejabberd': ensure => installed, } file{'/etc/ejabberd/ejabberd.cfg': source => [ "puppet:///modules/site-ejabberd/${fqdn}/ejabberd.cfg", "puppet:///modules/site-ejabberd/ejabberd.cfg", "puppet:///modules/ejabberd/ejabberd.cfg" ], require => Package['ejabberd'], notify => Service['ejabberd'], owner => root, group => ejabberd, mode => 0640; } service{'ejabberd': ensure => running, enable => true, hasstatus => $operatingsystem ? { 'debian' => false, default => true, }, pattern => 'ejabberd', require => Package[ejabberd], } }