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
|
# define a gpgkey to be watched
define nagios::service::gpgkey(
$ensure = 'present',
$warning = '14',
$key_info = undef,
){
validate_slength($name,40,40)
require ::nagios::plugins::gpg
$gpg_home = $nagios::plugins::gpg::gpg_home
$gpg_keyserver = $nagios::plugins::gpg::keyserver
exec{"manage_key_${name}":
user => nagios,
group => nagios,
}
nagios::service{
"check_gpg_${name}":
ensure => $ensure;
}
if $ensure == 'present' {
Exec["manage_key_${name}"]{
command => "gpg --keyserver ${gpg_keyserver} --homedir ${gpg_home} --recv-keys ${name}",
unless => "gpg --homedir ${gpg_home} --list-keys ${name}",
before => Nagios::Service["check_gpg_${name}"],
}
Nagios::Service["check_gpg_${name}"]{
check_command => "check_gpg!${warning}!${name}",
}
if $key_info {
Nagios::Service["check_gpg_${name}"]{
service_description => "Keyfingerprint: ${name} - Info: ${key_info}",
}
} else {
Nagios::Service["check_gpg_${name}"]{
service_description => "Keyfingerprint: ${name}",
}
}
} else {
Exec["manage_key_${name}"]{
command => "gpg --batch --homedir ${gpg_home} --delete-key ${name}",
onlyif => "gpg --homedir ${gpg_home} --list-keys ${name}",
require => Nagios::Service["check_gpg_${name}"],
}
}
}
|