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
87
88
89
90
91
92
93
94
95
96
97
|
# File 'manifests/install.pp', line 6
class prometheus::install {
assert_private()
if $prometheus::server::localstorage {
file { $prometheus::server::localstorage:
ensure => 'directory',
owner => $prometheus::server::user,
group => $prometheus::server::group,
mode => '0755',
}
}
case $prometheus::server::install_method {
'url': {
archive { "/tmp/prometheus-${prometheus::server::version}.${prometheus::server::download_extension}":
ensure => present,
extract => true,
extract_path => '/opt',
source => $prometheus::server::real_download_url,
checksum_verify => false,
creates => "/opt/prometheus-${prometheus::server::version}.${prometheus::server::os}-${prometheus::server::real_arch}/prometheus",
cleanup => true,
extract_command => $prometheus::extract_command,
}
-> file {
"/opt/prometheus-${prometheus::server::version}.${prometheus::server::os}-${prometheus::server::real_arch}/prometheus":
owner => 'root',
group => 0, # 0 instead of root because OS X uses "wheel".
mode => '0555';
"${prometheus::server::bin_dir}/prometheus":
ensure => link,
notify => $prometheus::server::notify_service,
target => "/opt/prometheus-${prometheus::server::version}.${prometheus::server::os}-${prometheus::server::real_arch}/prometheus";
"${prometheus::server::bin_dir}/promtool":
ensure => link,
target => "/opt/prometheus-${prometheus::server::version}.${prometheus::server::os}-${prometheus::server::real_arch}/promtool";
$prometheus::server::shared_dir:
ensure => directory,
owner => $prometheus::server::user,
group => $prometheus::server::group,
mode => '0755';
"${prometheus::server::shared_dir}/consoles":
ensure => link,
notify => $prometheus::server::notify_service,
target => "/opt/prometheus-${prometheus::server::version}.${prometheus::server::os}-${prometheus::server::real_arch}/consoles";
"${prometheus::server::shared_dir}/console_libraries":
ensure => link,
notify => $prometheus::server::notify_service,
target => "/opt/prometheus-${prometheus::server::version}.${prometheus::server::os}-${prometheus::server::real_arch}/console_libraries";
}
}
'package': {
package { $prometheus::server::package_name:
ensure => $prometheus::server::package_ensure,
notify => $prometheus::server::notify_service,
}
if $prometheus::server::manage_user {
User[$prometheus::server::user] -> Package[$prometheus::server::package_name]
}
}
'none': {}
default: {
fail("The provided install method ${prometheus::server::install_method} is invalid")
}
}
if $prometheus::server::manage_user {
ensure_resource('user', [$prometheus::server::user], {
ensure => 'present',
system => true,
groups => $prometheus::server::extra_groups,
shell => $prometheus::server::usershell,
})
if $prometheus::server::manage_group {
Group[$prometheus::server::group] -> User[$prometheus::server::user]
}
}
if $prometheus::server::manage_group {
ensure_resource('group', [$prometheus::server::group], {
ensure => 'present',
system => true,
})
}
file { $prometheus::server::config_dir:
ensure => 'directory',
owner => 'root',
group => $prometheus::server::group,
mode => $prometheus::server::config_mode,
purge => $prometheus::server::purge_config_dir,
recurse => $prometheus::server::purge_config_dir,
force => $prometheus::server::purge_config_dir,
}
}
|