1
2
3
4
5
6
7
8
9
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
class pyroscope(
$password = hiera('pyroscope::password', '')
) {
case $password {
'': { fail("You need to define torrent user password! Please set pyroscope::password in your config") }
}
user::manage { "torrent":
password => $password,
homedir => '/var/cache/torrent',
ensure => present,
groups => [ 'incoming' ],
}
file { '/var/cache/media/seeding':
ensure => directory,
owner => torrent,
group => torrent,
mode => 0775,
require => [ File['/var/cache/media'], User['torrent'] ],
}
file { '/var/cache/torrent/.profile':
ensure => present,
owner => torrent,
group => torrent,
mode => 0644,
source => 'puppet:///modules/pyroscope/profile.sh',
require => User['torrent'],
}
file { '/var/cache/torrent/.bashrc':
ensure => present,
owner => torrent,
group => torrent,
mode => 0644,
source => 'puppet:///modules/pyroscope/bashrc.sh',
require => User['torrent'],
}
file { '/var/cache/torrent/rtorrent':
ensure => directory,
owner => torrent,
group => torrent,
mode => 0755,
require => User['torrent'],
}
file { '/var/cache/torrent/rtorrent/done':
ensure => '/var/cache/media/incoming',
owner => torrent,
group => torrent,
require => File['/var/cache/torrent/rtorrent'],
}
file { '/var/cache/torrent/rtorrent/seeding':
ensure => '/var/cache/media/seeding',
owner => torrent,
group => torrent,
require => File['/var/cache/torrent/rtorrent'],
}
file { [ '/var/cache/torrent/rtorrent/log', '/var/cache/torrent/rtorrent/.session' ]:
ensure => directory,
owner => torrent,
group => torrent,
mode => 0755,
require => File['/var/cache/torrent/rtorrent'],
}
file { '/var/cache/torrent/rtorrent/rtorrent.rc':
ensure => present,
owner => torrent,
group => torrent,
mode => 0644,
source => 'puppet:///modules/pyroscope/rtorrent.rc',
require => File['/var/cache/torrent/rtorrent'],
}
file { '/var/cache/torrent/.rtorrent.rc':
ensure => '/var/cache/torrent/rtorrent/rtorrent.rc',
owner => torrent,
group => torrent,
require => File['/var/cache/torrent/rtorrent/rtorrent.rc'],
}
file { '/var/cache/torrent/rtorrent/start':
ensure => present,
owner => torrent,
group => torrent,
mode => 0755,
source => 'puppet:///modules/pyroscope/start.sh',
require => File['/var/cache/torrent/rtorrent'],
}
file { '/var/cache/torrent/.pyroscope':
ensure => directory,
owner => torrent,
group => torrent,
mode => 0755,
require => User['torrent'],
}
file { '/var/cache/torrent/.pyroscope/run':
ensure => directory,
owner => torrent,
group => torrent,
mode => 0755,
require => File['/var/cache/torrent/.pyroscope'],
}
file { '/var/cache/torrent/.pyroscope/run/pyrotorque':
ensure => present,
owner => torrent,
group => torrent,
mode => 0644,
require => File['/var/cache/torrent/.pyroscope/run'],
}
file { '/var/cache/torrent/.pyroscope/torque.ini':
ensure => present,
owner => torrent,
group => torrent,
mode => 0644,
source => 'puppet:///modules/pyroscope/torque.ini',
require => File['/var/cache/torrent/.pyroscope'],
}
file { '/var/cache/torrent/bin':
ensure => directory,
owner => torrent,
group => torrent,
mode => 0755,
require => User['torrent'],
}
file { '/var/cache/torrent/bin/rtcron':
ensure => present,
owner => torrent,
group => torrent,
mode => 0755,
source => 'puppet:///modules/pyroscope/rtcron.sh',
require => File['/var/cache/torrent/bin'],
}
cron { "rtcron":
command => '/var/cache/torrent/bin/rtcron &> /var/cache/torrent/rtorrent/log/rtcron.log',
user => torrent,
hour => "*",
minute => "*",
ensure => present,
require => File['/var/cache/torrent/bin/rtcron'],
}
}
|