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
|
# File 'manifests/install.pp', line 3
class tor::install {
if $tor::use_upstream_repository and $::osfamily == 'Debian' {
ensure_packages('apt-transport-https')
apt::source {
'torproject':
comment => 'TorProject',
location => '[signed-by=/usr/share/keyrings/torproject.gpg] https://deb.torproject.org/torproject.org',
repos => 'main',
release => $tor::upstream_release,
require => [ Package['apt-transport-https'] ];
}
apt::pin {
'torproject':
packages => [ 'tor', 'tor-geoipdb' ],
priority => 1000,
originator => 'TorProject',
component => 'main';
'torproject-negative':
packages => '*',
priority => 200,
originator => 'TorProject',
component => 'main';
}
file {
'/usr/share/keyrings/torproject.gpg':
ensure => present,
source => 'puppet:///modules/tor/torproject.gpg',
owner => 'root',
group => 0,
mode => '0644';
}
package { 'tor':
ensure => $tor::version,
require => Apt::Source['torproject'];
}
}
elsif $tor::use_upstream_repository and $::osfamily != 'Debian' {
fail("Unsupported managed repository for osfamily: ${::osfamily}, operatingsystem: ${::operatingsystem}, module ${module_name} currently only supports upstream repository for osfamily Debian") # lint:ignore:80chars
}
else {
package { 'tor':
ensure => $tor::version,
}
}
if $tor::arm {
package { 'tor-arm':
ensure => $tor::arm_version,
}
}
if $tor::torsocks {
package{ 'torsocks':
ensure => $tor::torsocks_version,
}
}
}
|