Skip to content

Commit 853c3ca

Browse files
authored
Merge pull request #1041 from puppetlabs/pr-1029-manage_gpgkey_with_aptkeyring
MODULES-11639: Review PR #1029 for puppetlabs-docker
2 parents 0f545d9 + 02e239a commit 853c3ca

8 files changed

Lines changed: 82 additions & 60 deletions

File tree

REFERENCE.md

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -177,12 +177,12 @@ The following parameters are available in the `docker` class:
177177
* [`docker_ce_cli_package_name`](#-docker--docker_ce_cli_package_name)
178178
* [`docker_ce_source_location`](#-docker--docker_ce_source_location)
179179
* [`docker_ce_key_source`](#-docker--docker_ce_key_source)
180-
* [`docker_ce_key_id`](#-docker--docker_ce_key_id)
181180
* [`docker_ce_release`](#-docker--docker_ce_release)
182181
* [`docker_package_location`](#-docker--docker_package_location)
183182
* [`docker_package_key_source`](#-docker--docker_package_key_source)
183+
* [`docker_package_key_name`](#-docker--docker_package_key_name)
184+
* [`docker_package_key_path`](#-docker--docker_package_key_path)
184185
* [`docker_package_key_check_source`](#-docker--docker_package_key_check_source)
185-
* [`docker_package_key_id`](#-docker--docker_package_key_id)
186186
* [`docker_package_release`](#-docker--docker_package_release)
187187
* [`docker_engine_start_command`](#-docker--docker_engine_start_command)
188188
* [`docker_engine_package_name`](#-docker--docker_engine_package_name)
@@ -191,7 +191,6 @@ The following parameters are available in the `docker` class:
191191
* [`docker_ee_package_name`](#-docker--docker_ee_package_name)
192192
* [`docker_ee_source_location`](#-docker--docker_ee_source_location)
193193
* [`docker_ee_key_source`](#-docker--docker_ee_key_source)
194-
* [`docker_ee_key_id`](#-docker--docker_ee_key_id)
195194
* [`docker_ee_repos`](#-docker--docker_ee_repos)
196195
* [`docker_ee_release`](#-docker--docker_ee_release)
197196
* [`package_release`](#-docker--package_release)
@@ -955,14 +954,6 @@ Data type: `Optional[String]`
955954

956955
Default value: `$docker::params::package_ce_key_source`
957956

958-
##### <a name="-docker--docker_ce_key_id"></a>`docker_ce_key_id`
959-
960-
Data type: `Optional[String]`
961-
962-
963-
964-
Default value: `$docker::params::package_ce_key_id`
965-
966957
##### <a name="-docker--docker_ce_release"></a>`docker_ce_release`
967958

968959
Data type: `Optional[String]`
@@ -987,21 +978,29 @@ Data type: `Optional[String]`
987978

988979
Default value: `$docker::params::package_key_source`
989980

990-
##### <a name="-docker--docker_package_key_check_source"></a>`docker_package_key_check_source`
981+
##### <a name="-docker--docker_package_key_name"></a>`docker_package_key_name`
991982

992-
Data type: `Optional[Boolean]`
983+
Data type: `Optional[String]`
993984

994985

995986

996-
Default value: `$docker::params::package_key_check_source`
987+
Default value: `$docker::params::package_key_name`
997988

998-
##### <a name="-docker--docker_package_key_id"></a>`docker_package_key_id`
989+
##### <a name="-docker--docker_package_key_path"></a>`docker_package_key_path`
990+
991+
Data type: `Optional[Stdlib::Absolutepath]`
999992

1000-
Data type: `Optional[String]`
1001993

1002994

995+
Default value: `$docker::params::package_key_path`
1003996

1004-
Default value: `$docker::params::package_key_id`
997+
##### <a name="-docker--docker_package_key_check_source"></a>`docker_package_key_check_source`
998+
999+
Data type: `Optional[Boolean]`
1000+
1001+
1002+
1003+
Default value: `$docker::params::package_key_check_source`
10051004

10061005
##### <a name="-docker--docker_package_release"></a>`docker_package_release`
10071006

@@ -1067,14 +1066,6 @@ Data type: `Optional[String]`
10671066

10681067
Default value: `$docker::params::package_ee_key_source`
10691068

1070-
##### <a name="-docker--docker_ee_key_id"></a>`docker_ee_key_id`
1071-
1072-
Data type: `Optional[String]`
1073-
1074-
1075-
1076-
Default value: `$docker::params::package_ee_key_id`
1077-
10781069
##### <a name="-docker--docker_ee_repos"></a>`docker_ee_repos`
10791070

10801071
Data type: `Optional[String]`

manifests/init.pp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,8 @@
315315
# @param docker_ce_release
316316
# @param docker_package_location
317317
# @param docker_package_key_source
318+
# @param docker_package_key_name
319+
# @param docker_package_key_path
318320
# @param docker_package_key_check_source
319321
# @param docker_package_release
320322
# @param docker_engine_start_command
@@ -359,6 +361,8 @@
359361
Optional[String] $docker_ce_release = $docker::params::package_ce_release,
360362
Optional[String] $docker_package_location = $docker::params::package_source_location,
361363
Optional[String] $docker_package_key_source = $docker::params::package_key_source,
364+
Optional[String] $docker_package_key_name = $docker::params::package_key_name,
365+
Optional[Stdlib::Absolutepath] $docker_package_key_path = $docker::params::package_key_path,
362366
Optional[Boolean] $docker_package_key_check_source = $docker::params::package_key_check_source,
363367
Optional[String] $docker_package_release = $docker::params::package_release,
364368
String $docker_engine_start_command = $docker::params::docker_engine_start_command,
@@ -544,6 +548,8 @@
544548
$package_location = $docker::docker_ee_source_location
545549
$package_key_source = $docker::docker_ee_key_source
546550
$package_key_check_source = $docker_package_key_check_source
551+
$package_key_name = $docker_package_key_name
552+
$package_key_path = $docker_package_key_path
547553
$package_repos = $docker::docker_ee_repos
548554
$release = $docker::docker_ee_release
549555
$docker_start_command = $docker::docker_ee_start_command
@@ -553,6 +559,8 @@
553559
'Debian' : {
554560
$package_location = $docker_ce_source_location
555561
$package_key_source = $docker_ce_key_source
562+
$package_key_name = $docker_package_key_name
563+
$package_key_path = $docker_package_key_path
556564
$package_repos = $docker_ce_channel
557565
$release = $docker_ce_release
558566
}
@@ -580,6 +588,8 @@
580588
$package_location = $docker_package_location
581589
$package_key_source = $docker_package_key_source
582590
$package_key_check_source = $docker_package_key_check_source
591+
$package_key_name = $docker_package_key_name
592+
$package_key_path = $docker_package_key_path
583593
$package_repos = 'main'
584594
$release = $docker_package_release
585595
}

manifests/params.pp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@
169169
}
170170
$package_source_location = 'http://apt.dockerproject.org/repo'
171171
$package_key_source = 'https://apt.dockerproject.org/gpg'
172+
$package_key_name = 'docker.asc'
173+
$package_key_path = '/usr/share/keyrings'
172174
$package_key_check_source = undef
173175
$package_ee_source_location = $docker_ee_source_location
174176
$package_ee_key_source = $docker_ee_key_source
@@ -212,6 +214,8 @@
212214
$package_ee_source_location = $docker_ee_source_location
213215
$package_key_check_source = true
214216
$package_key_source = 'https://yum.dockerproject.org/gpg'
217+
$package_key_name = undef
218+
$package_key_path = undef
215219
$package_release = undef
216220
$package_source_location = "https://yum.dockerproject.org/repo/main/centos/${facts['os']['release']['major']}"
217221
$pin_upstream_package_source = undef
@@ -241,6 +245,8 @@
241245
$package_source_location = undef
242246
$package_key_source = undef
243247
$package_key_check_source = undef
248+
$package_key_name = undef
249+
$package_key_path = undef
244250
$package_ee_source_location = undef
245251
$package_ee_package_name = $docker_ee_package_name
246252
$package_ee_key_source = undef
@@ -268,6 +274,8 @@
268274
$socket_group = $socket_group_default
269275
$package_key_source = undef
270276
$package_key_check_source = undef
277+
$package_key_name = undef
278+
$package_key_path = undef
271279
$package_source_location = undef
272280
$package_repos = undef
273281
$package_release = undef
@@ -305,6 +313,8 @@
305313
$socket_group = $socket_group_default
306314
$package_key_source = undef
307315
$package_key_check_source = undef
316+
$package_key_name = undef
317+
$package_key_path = undef
308318
$package_source_location = undef
309319
$package_repos = undef
310320
$package_release = undef

manifests/repos.pp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,27 @@
2020
'Debian': {
2121
$release = $docker::release
2222
$package_repos = $docker::package_repos
23+
$key_name = $docker::package_key_name
24+
$key_path = $docker::package_key_path
2325

2426
if ($docker::use_upstream_package_source) {
27+
apt::keyring { $key_name:
28+
ensure => present,
29+
source => $key_source,
30+
dir => $key_path,
31+
}
32+
2533
apt::source { 'docker':
34+
ensure => present,
2635
location => $location,
2736
architecture => $architecture,
2837
release => $release,
2938
repos => $package_repos,
30-
key => {
31-
name => 'docker.asc',
32-
source => $key_source,
33-
},
3439
include => {
3540
src => false,
3641
},
42+
keyring => "${key_path}/${key_name}",
43+
require => Apt::Keyring[$key_name],
3744
}
3845

3946
$url_split = split($location, '/')

spec/classes/init_spec.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@
105105
'docker_package_key_check_source' => defaults['package_key_check_source'],
106106
'docker_package_key_source' => defaults['package_key_source'],
107107
'docker_package_location' => defaults['package_source_location'],
108+
'docker_package_key_name' => defaults['package_key_name'],
109+
'docker_package_key_path' => defaults['package_key_path'],
108110
'docker_package_release' => defaults['package_release'],
109111
'docker_users' => [],
110112
'ensure' => defaults['package_ensure'],

spec/helper/get_defaults.rb

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ def get_defaults(_facts)
2828
docker_ce_start_command = 'dockerd'
2929
docker_command = 'docker'
3030
docker_ee = false
31-
docker_ee_key_id = :undef
3231
docker_ee_key_source = :undef
3332
docker_ee_repos = 'stable'
3433
docker_ee_source_location = :undef
@@ -130,19 +129,18 @@ def get_defaults(_facts)
130129
storage_setup_file = :undef
131130
use_upstream_package_source = true
132131

133-
package_ce_key_id = '9DC858229FC7DD38854AE2D88D81803C0EBFCD88'
134132
package_ce_key_source = "https://download.docker.com/linux/#{os_lc}/gpg"
135133
package_ce_release = _facts[:os]['distro']['codename']
136134
package_ce_source_location = "https://download.docker.com/linux/#{os_lc}"
137-
package_ee_key_id = docker_ee_key_id
138135
package_ee_key_source = docker_ee_key_source
139136
package_ee_package_name = docker_ee_package_name
140137
package_ee_release = _facts[:os]['distro']['codename']
141138
package_ee_repos = docker_ee_repos
142139
package_ee_source_location = docker_ee_source_location
143140
package_key_check_source = :undef
144-
package_key_id = '58118E89F3A912897C070ADBF76221572C52609D'
145141
package_key_source = 'https://apt.dockerproject.org/gpg'
142+
package_key_name = 'docker.asc'
143+
package_key_path = '/usr/share/keyrings'
146144
package_source_location = 'http://apt.dockerproject.org/repo'
147145

148146
detach_service_in_init = service_provider != 'systemd'
@@ -162,19 +160,18 @@ def get_defaults(_facts)
162160

163161
apt_source_pin_level = :undef
164162
detach_service_in_init = false
165-
package_ce_key_id = :undef
166163
package_ce_key_source = 'https://download.docker.com/linux/centos/gpg'
167164
package_ce_release = :undef
168165
package_ce_source_location = "https://download.docker.com/linux/centos/#{_facts[:os]['release']['major']}/#{_facts[:os]['architecture']}/#{docker_ce_channel}"
169-
package_ee_key_id = docker_ee_key_id
170166
package_ee_key_source = docker_ee_key_source
171167
package_ee_package_name = docker_ee_package_name
172168
package_ee_release = :undef
173169
package_ee_repos = docker_ee_repos
174170
package_ee_source_location = docker_ee_source_location
175171
package_key_check_source = true
176-
package_key_id = :undef
177172
package_key_source = 'https://yum.dockerproject.org/gpg'
173+
package_key_name = :undef
174+
package_key_path = :undef
178175
package_release = :undef
179176
package_source_location = "https://yum.dockerproject.org/repo/main/centos/#{_facts[:os]['release']['major']}"
180177
pin_upstream_package_source = :undef
@@ -203,18 +200,17 @@ def get_defaults(_facts)
203200
docker_group = 'docker'
204201
package_ce_source_location = :undef
205202
package_ce_key_source = :undef
206-
package_ce_key_id = :undef
207203
package_ce_repos = :undef
208204
package_ce_release = :undef
209-
package_key_id = :undef
210205
package_release = :undef
211206
package_source_location = :undef
212207
package_key_source = :undef
213208
package_key_check_source = :undef
209+
package_key_name = :undef
210+
package_key_path = :undef
214211
package_ee_source_location = :undef
215212
package_ee_package_name = docker_ee_package_name
216213
package_ee_key_source = :undef
217-
package_ee_key_id = :undef
218214
package_ee_repos = :undef
219215
package_ee_release = :undef
220216
use_upstream_package_source = :undef
@@ -238,18 +234,17 @@ def get_defaults(_facts)
238234
socket_group = socket_group_default
239235
package_key_source = :undef
240236
package_key_check_source = :undef
237+
package_key_name = :undef
238+
package_key_path = :undef
241239
package_source_location = :undef
242-
package_key_id = :undef
243240
package_repos = :undef
244241
package_release = :undef
245242
package_ce_key_source = :undef
246243
package_ce_source_location = :undef
247-
package_ce_key_id = :undef
248244
package_ce_repos = :undef
249245
package_ce_release = :undef
250246
package_ee_source_location = :undef
251247
package_ee_key_source = :undef
252-
package_ee_key_id = :undef
253248
package_ee_release = :undef
254249
package_ee_repos = :undef
255250
package_ee_package_name = :undef
@@ -277,18 +272,17 @@ def get_defaults(_facts)
277272
socket_group = socket_group_default
278273
package_key_source = :undef
279274
package_key_check_source = :undef
275+
package_key_name = :undef
276+
package_key_path = :undef
280277
package_source_location = :undef
281-
package_key_id = :undef
282278
package_repos = :undef
283279
package_release = :undef
284280
package_ce_key_source = :undef
285281
package_ce_source_location = :undef
286-
package_ce_key_id = :undef
287282
package_ce_repos = :undef
288283
package_ce_release = :undef
289284
package_ee_source_location = :undef
290285
package_ee_key_source = :undef
291-
package_ee_key_id = :undef
292286
package_ee_release = :undef
293287
package_ee_repos = :undef
294288
package_ee_package_name = :undef
@@ -363,7 +357,6 @@ def get_defaults(_facts)
363357
'docker_ce_start_command' => docker_ce_start_command,
364358
'docker_command' => docker_command,
365359
'docker_ee' => docker_ee,
366-
'docker_ee_key_id' => docker_ee_key_id,
367360
'docker_ee_key_source' => docker_ee_key_source,
368361
'docker_ee_package_name' => docker_ee_package_name,
369362
'docker_ee_repos' => docker_ee_repos,
@@ -399,21 +392,20 @@ def get_defaults(_facts)
399392
'nuget_package_provider_version' => nuget_package_provider_version,
400393
'os_lc' => os_lc,
401394
'overlay2_override_kernel_check' => overlay2_override_kernel_check,
402-
'package_ce_key_id' => package_ce_key_id,
403395
'package_ce_key_source' => package_ce_key_source,
404396
'package_ce_release' => package_ce_release,
405397
'package_ce_repos' => package_ce_repos,
406398
'package_ce_source_location' => package_ce_source_location,
407-
'package_ee_key_id' => package_ee_key_id,
408399
'package_ee_key_source' => package_ee_key_source,
409400
'package_ee_package_name' => package_ee_package_name,
410401
'package_ee_release' => package_ee_release,
411402
'package_ee_repos' => package_ee_repos,
412403
'package_ee_source_location' => package_ee_source_location,
413404
'package_ensure' => package_ensure,
414405
'package_key_check_source' => package_key_check_source,
415-
'package_key_id' => package_key_id,
416406
'package_key_source' => package_key_source,
407+
'package_key_name' => package_key_name,
408+
'package_key_path' => package_key_path,
417409
'package_name' => package_name,
418410
'package_release' => package_release,
419411
'package_repos' => package_repos,

0 commit comments

Comments
 (0)