|
13 | 13 | # |
14 | 14 | # Sample Usage: |
15 | 15 | # |
| 16 | +# |
16 | 17 | class datadog_agent::redhat( |
17 | 18 | $baseurl = "https://yum.datadoghq.com/rpm/${::architecture}/", |
18 | | - $gpgkey = 'https://yum.datadoghq.com/DATADOG_RPM_KEY.public', |
| 19 | + $gpgkey = 'https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public', |
19 | 20 | $manage_repo = true, |
20 | 21 | $agent_version = 'latest' |
21 | 22 | ) { |
22 | 23 |
|
23 | 24 | validate_bool($manage_repo) |
24 | 25 | if $manage_repo { |
| 26 | + $public_key_local = '/tmp/DATADOG_RPM_KEY.public' |
| 27 | + |
25 | 28 | validate_string($baseurl) |
26 | 29 |
|
| 30 | + remote_file { 'DATADOG_RPM_KEY.public': |
| 31 | + owner => root, |
| 32 | + group => root, |
| 33 | + mode => '600', |
| 34 | + path => $public_key_local, |
| 35 | + source => $gpgkey |
| 36 | + } |
| 37 | + |
| 38 | + exec { 'install-gpg-key': |
| 39 | + command => "/bin/rpm --import ${public_key_local}", |
| 40 | + onlyif => "/bin/gpg --quiet --with-fingerprint -n ${public_key_local} | grep \'A4C0 B90D 7443 CF6E 4E8A A341 F106 8E14 E094 22B3\'", |
| 41 | + unless => '/bin/rpm -q gpg-pubkey-e09422b3', |
| 42 | + require => Remote_file['DATADOG_RPM_KEY.public'], |
| 43 | + notify => Exec['cleanup-gpg-key'], |
| 44 | + } |
| 45 | + |
| 46 | + exec { 'cleanup-gpg-key': |
| 47 | + command => "/bin/rm ${public_key_local}", |
| 48 | + onlyif => "/bin/test -f ${public_key_local}", |
| 49 | + } |
| 50 | + |
27 | 51 | yumrepo {'datadog': |
28 | 52 | enabled => 1, |
29 | 53 | gpgcheck => 1, |
30 | 54 | gpgkey => $gpgkey, |
31 | 55 | descr => 'Datadog, Inc.', |
32 | 56 | baseurl => $baseurl, |
| 57 | + require => Exec['install-gpg-key'], |
33 | 58 | } |
34 | 59 |
|
35 | 60 | Package { require => Yumrepo['datadog']} |
|
0 commit comments