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
|
# File 'manifests/install.pp', line 3
class tor::install {
if $tor::use_upstream_repository and $facts['os']['family'] == '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 => file,
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 $facts['os']['family'] != 'Debian' {
fail("Unsupported managed repository for osfamily: ${facts['os']['family']}, operatingsystem: ${facts['os']['name']}, module ${module_name} currently only supports upstream repository for osfamily Debian") # lint:ignore:80chars
}
else {
package { 'tor':
ensure => $tor::version,
}
}
if $tor::arm {
package {
'nyx':
ensure => $tor::arm_version;
'tor-arm':
ensure => purged;
}
notify {
'[tor] *** DEPRECATION WARNING***: the "tor::arm" variable has been renamed "tor::nyx". The old variable will eventually be removed.':
}
notify {
'[tor] *** DEPRECATION WARNING***: the "tor::arm_version" variable has been renamed "tor::nyx_version". The old variable will eventually be removed.':
}
}
elsif $tor::nyx {
package {
'nyx':
ensure => $tor::nyx_version;
'tor-arm':
ensure => purged;
}
}
if $tor::torsocks {
package{ 'torsocks':
ensure => $tor::torsocks_version,
}
}
}
|