# manifests/server.pp class rsync::server { if !defined(Package['rsync']) { package {'rsync': ensure => installed, } } file { '/etc/rsyncd.conf': ensure => present, owner => root, group => root, mode => '0644', notify => Service['rsync'], require => Package['rsync'], source => [ "puppet:///modules/site_rsync/$domain/rsyncd.conf", "puppet:///modules/site_rsync/rsyncd.conf", "puppet:///modules/rsync/server/rsyncd.conf" ], } file { '/etc/default/rsync': ensure => present, owner => root, group => root, mode => '0644', notify => Service['rsync'], require => Package['rsync'], source => [ "puppet:///modules/site_rsync/$domain/default", "puppet:///modules/site_rsync/default", "puppet:///modules/rsync/server/default" ], } file { [ '/etc/logrotate.d/rsync' ]: ensure => present, owner => root, group => root, mode => '0644', require => Package['rsync'], source => [ "puppet:///modules/site_rsync/$domain/logrotate.conf", "puppet:///modules/site_rsync/logrotate.conf", "puppet:///modules/rsync/server/logrotate.conf" ], } service { 'rsync': enable => true, ensure => running, require => File['/etc/rsyncd.conf', '/etc/default/rsync' ], } }