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
|
# File 'manifests/install/debian/metricbeat.pp', line 3
class beats::install::debian::metricbeat {
assert_private("Use of private class ${name} by ${caller_module_name}")
include beats::metricbeat
include beats::config::metricbeat
require beats::install::debian::remove_repo
$uri = "https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${beats::metricbeat::version}-${
beats::metricbeat::arch}.deb"
$deb = "/var/cache/apt/archives/metricbeat+puppet_${beats::metricbeat::arch}.deb"
if $beats::metricbeat::checksum == 'auto' {
$_checksum = beats::get_checksum($uri, 'metricbeat', $beats::metricbeat::version)
} else {
$_checksum = $beats::metricbeat::checksum
}
file { $deb:
ensure => 'file',
source => $uri,
checksum => 'sha512',
checksum_value => $_checksum,
owner => 'root',
group => 'root',
mode => '0500',
}
package { 'metricbeat':
ensure => 'latest',
provider => 'dpkg',
source => $deb,
require => File[$deb],
}
file { '/etc/metricbeat/metricbeat.yml':
ensure => 'file',
content => to_yaml($beats::config::metricbeat::final),
require => [
Package['metricbeat'],
Service['metricbeat.service'],
],
}
service { 'metricbeat.service':
ensure => $beats::metricbeat::service_ensure,
enable => $beats::metricbeat::service_atboot,
require => [
Package['metricbeat'],
],
}
}
|