Skip to content

Commit 66d3465

Browse files
author
Slavek Kabrda
authored
Add the 'current' gpg key, only use 1 gpgkey on suse < 15 (#687)
* Get keys from keys.datadoghq.com
1 parent acd6ed3 commit 66d3465

File tree

4 files changed

+95
-35
lines changed

4 files changed

+95
-35
lines changed

Diff for: manifests/redhat.pp

+5-4
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414
if $manage_repo {
1515

1616
$keys = [
17-
'https://yum.datadoghq.com/DATADOG_RPM_KEY.public',
18-
'https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public',
19-
'https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public',
17+
'https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public',
18+
'https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public',
19+
'https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public',
20+
'https://keys.datadoghq.com/DATADOG_RPM_KEY.public',
2021
]
2122

2223
case $agent_major_version {
@@ -30,7 +31,7 @@
3031
}
3132
7 : {
3233
$defaulturl = "https://yum.datadoghq.com/stable/7/${::architecture}/"
33-
$gpgkeys = $keys[1,2]
34+
$gpgkeys = $keys[0,-2]
3435
}
3536
default: { fail('invalid agent_major_version') }
3637
}

Diff for: manifests/suse.pp

+8-5
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,18 @@
1111
String $agent_flavor = $datadog_agent::params::package_name,
1212
) inherits datadog_agent::params {
1313

14+
$current_key = 'https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public'
1415
$all_keys = [
15-
'https://yum.datadoghq.com/DATADOG_RPM_KEY.public',
16-
'https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public',
17-
'https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public',
16+
$current_key,
17+
'https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public',
18+
'https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public',
19+
'https://keys.datadoghq.com/DATADOG_RPM_KEY.public',
1820
]
1921

2022
case $agent_major_version {
2123
5 : { fail('Agent v5 package not available in SUSE') }
2224
6 : { $gpgkeys = $all_keys }
23-
7 : { $gpgkeys = $all_keys[1,2] }
25+
7 : { $gpgkeys = $all_keys[0,-2] }
2426
default: { fail('invalid agent_major_version') }
2527
}
2628

@@ -59,7 +61,8 @@
5961
autorefresh => 1,
6062
name => 'datadog',
6163
gpgcheck => 1,
62-
gpgkey => join($gpgkeys, " "),
64+
# zypper on SUSE < 15 only understands a single gpgkey value
65+
gpgkey => (Float($::operatingsystemmajrelease) >= 15.0) ? { true => join($gpgkeys, "\n "), default => $current_key },
6366
keeppackages => 1,
6467
}
6568

Diff for: spec/classes/datadog_agent_redhat_spec.rb

+11-8
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@
2727
is_expected.to contain_yumrepo('datadog')
2828
.with_enabled(1)\
2929
.with_gpgcheck(1)\
30-
.with_gpgkey('https://yum.datadoghq.com/DATADOG_RPM_KEY.public
31-
https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
32-
https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public')\
30+
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
31+
https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
32+
https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public
33+
https://keys.datadoghq.com/DATADOG_RPM_KEY.public')\
3334
.with_baseurl('https://yum.datadoghq.com/rpm/x86_64/')
3435
end
3536
end
@@ -74,9 +75,10 @@
7475
is_expected.to contain_yumrepo('datadog')
7576
.with_enabled(1)\
7677
.with_gpgcheck(1)\
77-
.with_gpgkey('https://yum.datadoghq.com/DATADOG_RPM_KEY.public
78-
https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
79-
https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public')\
78+
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
79+
https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
80+
https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public
81+
https://keys.datadoghq.com/DATADOG_RPM_KEY.public')\
8082
.with_baseurl('https://yum.datadoghq.com/stable/6/x86_64/')
8183
end
8284
end
@@ -122,8 +124,9 @@
122124
is_expected.to contain_yumrepo('datadog')
123125
.with_enabled(1)\
124126
.with_gpgcheck(1)\
125-
.with_gpgkey('https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
126-
https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public')\
127+
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
128+
https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
129+
https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public')\
127130
.with_baseurl('https://yum.datadoghq.com/stable/7/x86_64/')
128131
end
129132
end

Diff for: spec/classes/datadog_agent_suse_spec.rb

+71-18
Original file line numberDiff line numberDiff line change
@@ -12,35 +12,88 @@
1212
}
1313
end
1414

15-
context 'agent 6' do
16-
let(:params) do
15+
context 'suse >= 15' do
16+
let(:facts) do
1717
{
18-
agent_major_version: 6,
18+
operatingsystemmajrelease: '15',
1919
}
2020
end
2121

22-
it do
23-
is_expected.to contain_zypprepo('datadog')
24-
.with_enabled(1)\
25-
.with_gpgcheck(1)\
26-
.with_gpgkey('https://yum.datadoghq.com/DATADOG_RPM_KEY.public https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public')\
27-
.with_baseurl('https://yum.datadoghq.com/suse/stable/6/x86_64')
22+
context 'agent 6' do
23+
let(:params) do
24+
{
25+
agent_major_version: 6,
26+
}
27+
end
28+
29+
it do
30+
is_expected.to contain_zypprepo('datadog')
31+
.with_enabled(1)\
32+
.with_gpgcheck(1)\
33+
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
34+
https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
35+
https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public
36+
https://keys.datadoghq.com/DATADOG_RPM_KEY.public')\
37+
.with_baseurl('https://yum.datadoghq.com/suse/stable/6/x86_64')
38+
end
39+
end
40+
41+
context 'agent 7' do
42+
let(:params) do
43+
{
44+
agent_major_version: 7,
45+
}
46+
end
47+
48+
it do
49+
is_expected.to contain_zypprepo('datadog')
50+
.with_enabled(1)\
51+
.with_gpgcheck(1)\
52+
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
53+
https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
54+
https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public')\
55+
.with_baseurl('https://yum.datadoghq.com/suse/stable/7/x86_64')
56+
end
2857
end
2958
end
3059

31-
context 'agent 7' do
32-
let(:params) do
60+
context 'suse < 15' do
61+
let(:facts) do
3362
{
34-
agent_major_version: 7,
63+
operatingsystemmajrelease: '14',
3564
}
3665
end
3766

38-
it do
39-
is_expected.to contain_zypprepo('datadog')
40-
.with_enabled(1)\
41-
.with_gpgcheck(1)\
42-
.with_gpgkey('https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public')\
43-
.with_baseurl('https://yum.datadoghq.com/suse/stable/7/x86_64')
67+
context 'agent 6' do
68+
let(:params) do
69+
{
70+
agent_major_version: 6,
71+
}
72+
end
73+
74+
it do
75+
is_expected.to contain_zypprepo('datadog')
76+
.with_enabled(1)\
77+
.with_gpgcheck(1)\
78+
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public')\
79+
.with_baseurl('https://yum.datadoghq.com/suse/stable/6/x86_64')
80+
end
81+
end
82+
83+
context 'agent 7' do
84+
let(:params) do
85+
{
86+
agent_major_version: 7,
87+
}
88+
end
89+
90+
it do
91+
is_expected.to contain_zypprepo('datadog')
92+
.with_enabled(1)\
93+
.with_gpgcheck(1)\
94+
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public')\
95+
.with_baseurl('https://yum.datadoghq.com/suse/stable/7/x86_64')
96+
end
4497
end
4598
end
4699

0 commit comments

Comments
 (0)