Skip to content

Commit a61d23a

Browse files
authored
Merge pull request #907 from EncoreTechnologies/feature/fix-yum-repo
Fixing Yum repo
2 parents d2dce6e + 6533503 commit a61d23a

File tree

4 files changed

+43
-13
lines changed

4 files changed

+43
-13
lines changed

data/common.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ rabbitmq::node_ip_address: ~
2727
rabbitmq::package_apt_pin: ~
2828
rabbitmq::package_ensure: 'installed'
2929
rabbitmq::package_gpg_key: ~
30+
rabbitmq::repo_gpg_key: ~
3031
rabbitmq::package_name: 'rabbitmq'
3132
rabbitmq::package_source: ~
3233
rabbitmq::package_provider: ~

data/family/RedHat.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
---
22
rabbitmq::package_name: 'rabbitmq-server'
33
rabbitmq::service_name: 'rabbitmq-server'
4-
rabbitmq::package_gpg_key: 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey'
4+
rabbitmq::package_gpg_key: 'https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc'
5+
rabbitmq::repo_gpg_key: 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey'

manifests/init.pp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,17 @@
2222
# package_gpg_key => 'http://www.some_site.some_domain/some_key.pub.key',
2323
# }
2424
#
25+
# @example Offline installation from local mirror:
26+
# class { 'rabbitmq':
27+
# key_content => template('openstack/rabbit.pub.key'),
28+
# repo_gpg_key => '/tmp/rabbit.pub.key',
29+
# }
30+
#
31+
# @example Use external package key source for any (apt/rpm) package provider:
32+
# class { 'rabbitmq':
33+
# repo_gpg_key => 'http://www.some_site.some_domain/some_key.pub.key',
34+
# }
35+
#
2536
# @example To use RabbitMQ Environment Variables, use the parameters `environment_variables` e.g.:
2637
# class { 'rabbitmq':
2738
# port => '5672',
@@ -211,6 +222,10 @@
211222
# Determines the ensure state of the package. Set to installed by default, but could be changed to latest.
212223
# @param package_gpg_key
213224
# RPM package GPG key to import. Uses source method. Should be a URL for Debian/RedHat OS family, or a file name for
225+
# RedHat OS family. Set to https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
226+
# for Debian/RedHat OS Family by default.
227+
# @param repo_gpg_key
228+
# RPM package GPG key to import. Uses source method. Should be a URL for Debian/RedHat OS family, or a file name for
214229
# RedHat OS family. Set to https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey for Debian/RedHat OS Family by
215230
# default. Note, that `key_content`, if specified, would override this parameter for Debian OS family.
216231
# @param package_name
@@ -355,6 +370,7 @@
355370
Optional[Variant[Numeric, String]] $package_apt_pin = undef,
356371
String $package_ensure = 'installed',
357372
Optional[String] $package_gpg_key = undef,
373+
Optional[String] $repo_gpg_key = undef,
358374
Variant[String, Array] $package_name = 'rabbitmq',
359375
Optional[String] $package_source = undef,
360376
Optional[String] $package_provider = undef,

manifests/repo/rhel.pp

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,34 @@
22
#
33
# @api private
44
class rabbitmq::repo::rhel (
5-
$location = "https://packagecloud.io/rabbitmq/rabbitmq-server/el/${facts['os'][release][major]}/\$basearch",
6-
String $key_source = $rabbitmq::package_gpg_key,
5+
$location = "https://packagecloud.io/rabbitmq/rabbitmq-server/el/${facts['os'][release][major]}/\$basearch",
6+
String $repo_key_source = $rabbitmq::repo_gpg_key,
7+
String $package_key_source = $rabbitmq::package_gpg_key,
78
) {
9+
# Import package key from rabbitmq to be able to
10+
# sign the package and the repo.
11+
# rabbitmq key is gpg-pubkey-6026dfca-573adfde
12+
exec { "rpm --import ${package_key_source}":
13+
path => ['/bin','/usr/bin','/sbin','/usr/sbin'],
14+
unless => 'rpm -q gpg-pubkey-6026dfca-573adfde 2>/dev/null',
15+
before => YumRepo['rabbitmq'],
16+
}
17+
818
yumrepo { 'rabbitmq':
9-
ensure => present,
10-
name => 'rabbitmq_rabbitmq-server',
11-
baseurl => $location,
12-
gpgkey => $key_source,
13-
enabled => 1,
14-
gpgcheck => 1,
19+
ensure => present,
20+
name => 'rabbitmq_rabbitmq-server',
21+
baseurl => $location,
22+
gpgkey => $repo_key_source,
23+
enabled => 1,
24+
gpgcheck => 1,
25+
repo_gpgcheck => 1,
1526
}
1627

1728
# This may still be needed to prevent warnings
18-
# packagecloud key is gpg-pubkey-d59097ab-52d46e88
19-
exec { "rpm --import ${key_source}":
20-
path => ['/bin','/usr/bin','/sbin','/usr/sbin'],
21-
unless => 'rpm -q gpg-pubkey-6026dfca-573adfde 2>/dev/null',
29+
# packagecloud key is gpg-pubkey-4d206f89-5bbb8d59
30+
exec { "rpm --import ${repo_key_source}":
31+
path => ['/bin','/usr/bin','/sbin','/usr/sbin'],
32+
unless => 'rpm -q gpg-pubkey-4d206f89-5bbb8d59 2>/dev/null',
33+
require => YumRepo['rabbitmq'],
2234
}
2335
}

0 commit comments

Comments
 (0)