10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'manifests/server.pp', line 10
class rsync::server (
Boolean $use_xinetd = true,
String $address = '0.0.0.0',
Boolean $use_chroot = true,
String $uid = 'nobody',
String $gid = 'nobody',
String $port = '873',
Hash $modules = {},
String $syslog_facility = 'local3',
) inherits rsync {
case $facts['os']['family'] {
'Debian': {
$conf_file = '/etc/rsyncd.conf'
$servicename = 'rsync'
}
'Suse': {
$conf_file = '/etc/rsyncd.conf'
$servicename = 'rsyncd'
}
'RedHat': {
$conf_file = '/etc/rsyncd.conf'
$servicename = 'rsyncd'
}
'FreeBSD': {
$conf_file = '/usr/local/etc/rsync/rsyncd.conf'
$servicename = 'rsyncd'
}
default: {
$conf_file = '/etc/rsync.conf'
$servicename = 'rsync'
}
}
if $use_xinetd {
include xinetd
xinetd::service { 'rsync':
bind => $address,
port => $port,
server => '/usr/bin/rsync',
server_args => "--daemon --config ${conf_file}",
require => Package['rsync'],
}
} else {
service { $servicename:
ensure => running,
enable => true,
hasstatus => true,
hasrestart => true,
subscribe => Concat[$conf_file],
}
if ( $facts['os']['family'] == 'Debian' ) {
file { '/etc/default/rsync':
source => 'puppet:///modules/rsync/defaults',
notify => Service['rsync'],
}
}
}
concat { $conf_file: }
concat::fragment { 'rsyncd_conf_header':
target => $conf_file,
content => epp('rsync/header.epp'),
order => '00_header',
}
create_resources(rsync::server::module, $modules)
}
|