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
|
# File 'manifests/install.pp', line 1
class cerebro::install (
$version = $::cerebro::version,
$address = $::cerebro::address,
$port = $::cerebro::port,
$user = $::cerebro::cerebro_user,
$package_url = $::cerebro::package_url,
$sysconfig = $::cerebro::sysconfig,
$proxy_server = $::cerebro::proxy_server,
$proxy_type = $::cerebro::proxy_type,
) {
$group = $user
$real_package_url = pick($package_url, "https://github.com/lmenezes/cerebro/releases/download/v${version}/cerebro-${version}.tgz")
file { "/opt/cerebro-${version}":
ensure => directory,
owner => $user,
group => $group,
mode => '0755',
}
archive { "/tmp/cerebro-${version}.tgz":
source => $real_package_url,
extract => true,
extract_path => '/opt',
creates => "/opt/cerebro-${version}/bin",
cleanup => true,
user => $user,
group => $group,
proxy_server => $proxy_server,
proxy_type => $proxy_type,
require => File["/opt/cerebro-${version}"],
}
file { '/opt/cerebro':
ensure => 'link',
target => "/opt/cerebro-${version}",
require => Archive["/tmp/cerebro-${version}.tgz"],
}
file { '/opt/cerebro/logs':
ensure => 'directory',
owner => $user,
group => $group,
require => File['/opt/cerebro'],
}
file { '/var/log/cerebro':
ensure => 'link',
target => '/opt/cerebro/logs',
}
file { '/etc/cerebro':
ensure => 'directory',
owner => $user,
group => $group,
}
file { '/var/cerebro':
ensure => 'directory',
owner => $user,
group => $group,
}
file { '/var/run/cerebro':
ensure => 'directory',
owner => $user,
group => $group,
}
file { '/etc/tmpfiles.d/cerebro.conf':
content => template('cerebro/etc/tmpfiles.d/cerebro.conf.erb'),
}
if ($::operatingsystem == 'Amazon') {
file { '/etc/init.d/cerebro':
content => template('cerebro/etc/init.d/cerebro.erb'),
mode => '0744',
}
} else {
::systemd::unit_file { 'cerebro.service':
content => template('cerebro/etc/systemd/system/cerebro.service.erb'),
}
}
}
|