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
|
# File 'manifests/service.pp', line 18
class otelcol::service (
Stdlib::Ensure::Service $ensure = $otelcol::service_ensure,
Boolean $enable = $otelcol::service_enable,
String $config_check_command = "${otelcol::service_name} validate --config=${otelcol::config_file}",
Boolean $config_check = $otelcol::service_configcheck,
) {
# include install
include otelcol::install
if $config_check {
exec { 'otelcol_config_check':
command => $config_check_command,
refreshonly => true,
path => [
'/usr/local/sbin',
'/usr/local/bin',
'/usr/sbin',
'/usr/bin',
'/sbin',
'/bin',
],
}
}
$service_require = $config_check ? {
true => [Exec['otelcol_config_check'], Package['otelcol']],
false => Package['otelcol'],
}
service { 'otelcol':
ensure => $ensure,
enable => $enable,
name => $otelcol::service_name,
require => $service_require,
subscribe => [Concat['otelcol-config'], File['otelcol-environment']],
}
}
|