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