manifests/ubuntu/agent6.pp (47 lines of code) (raw):

# Class: datadog_agent::ubuntu::agent6 # # This class contains the DataDog agent installation mechanism for Debian derivatives # class datadog_agent::ubuntu::agent6( $apt_key = 'A2923DFF56EDA6E76E55E492D3A80E30382E94DE', $agent_version = 'latest', $other_keys = ['935F5A436A5A6E8788F0765B226AE980C7A7DA52'], $location = $datadog_agent::params::agent6_default_repo, $release = $datadog_agent::params::apt_default_release, $repos = '6', $skip_apt_key_trusting = false, $service_ensure = 'running', $service_enable = true, ) inherits datadog_agent::params { ensure_packages(['apt-transport-https']) validate_legacy(Array, 'validate_array', $other_keys) if !$skip_apt_key_trusting { $mykeys = concat($other_keys, [$apt_key]) ::datadog_agent::ubuntu::install_key { $mykeys: before => Apt::Source['datadog6'], } } apt::source { 'datadog': ensure => absent, } apt::source { 'datadog6': comment => 'Datadog Agent 6 Repository', location => $location, release => $release, repos => $repos, require => Package['apt-transport-https'], notify => Exec['apt_update'], } package { 'datadog-agent-base': ensure => absent, before => Package['datadog-agent'], } package { $datadog_agent::params::package_name: ensure => $agent_version, require => [Apt::Source['datadog6'], Exec['apt_update']], } service { $datadog_agent::params::service_name: ensure => $service_ensure, enable => $service_enable, hasstatus => false, pattern => 'dd-agent', require => Package['datadog-agent'], } }