Puppet Class: datadog_agent::installer_telemetry
- Defined in:
- manifests/installer_telemetry.pp
Overview
This class handles the installation telemetry for the Datadog installer.
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 |
# File 'manifests/installer_telemetry.pp', line 7
class datadog_agent::installer_telemetry (
String $api_key = 'your_API_key',
String $datadog_site = 'datadoghq.com',
String $packages_to_install = 'datadog-agent',
) {
$role_version = load_module_metadata($module_name)['version']
file { 'Trace payload templating':
ensure => file,
path => '/tmp/trace_payload.json',
content => epp('datadog_agent/installer/telemetry/trace.json.epp', {
'role_version' => $role_version,
'packages_to_install' => $packages_to_install
}
),
}
file { 'Log payload templating':
ensure => file,
path => '/tmp/log_payload.json',
content => epp('datadog_agent/installer/telemetry/log.json.epp', {
'role_version' => $role_version
}
),
}
file { 'Telemetry script templating':
ensure => file,
path => '/tmp/datadog_send_telemetry.sh',
content => epp('datadog_agent/installer/telemetry/send_telemetry.sh.epp', {
'datadog_site' => $datadog_site,
'api_key' => $api_key
}
),
mode => '0744',
require => [
File['Trace payload templating'],
File['Log payload templating'],
],
}
exec { 'Run telemetry script':
# We don't want to fail the installation if telemetry fails and we need to remove the script after running it, hence the semicolon
command => 'bash /tmp/datadog_send_telemetry.sh ; rm -f /tmp/datadog_send_telemetry.sh',
path => ['/usr/bin', '/bin'],
require => File['Telemetry script templating'],
}
}
|