Puppet Class: rabbitmq::repo::apt

Defined in:
manifests/repo/apt.pp

Overview

requires puppetlabs-apt puppetlabs-stdlib

Parameters:

  • location (String) (defaults to: 'https://packagecloud.io/rabbitmq/rabbitmq-server')
  • repos (String) (defaults to: 'main')
  • include_src (Boolean) (defaults to: false)
  • key (String) (defaults to: '418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB')
  • key_source (String) (defaults to: $rabbitmq::package_gpg_key)
  • key_content (Optional[String]) (defaults to: $rabbitmq::key_content)
  • architecture (Optional[String]) (defaults to: undef)


4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'manifests/repo/apt.pp', line 4

class rabbitmq::repo::apt(
  String $location               = 'https://packagecloud.io/rabbitmq/rabbitmq-server',
  String $repos                  = 'main',
  Boolean $include_src           = false,
  String $key                    = '418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB',
  String $key_source             = $rabbitmq::package_gpg_key,
  Optional[String] $key_content  = $rabbitmq::key_content,
  Optional[String] $architecture = undef,
  ) {

  $pin = $rabbitmq::package_apt_pin

  # ordering / ensure to get the last version of repository
  Class['rabbitmq::repo::apt']
  -> Class['apt::update']
  -> Package<| title == 'rabbitmq-server' |>

  $osname = downcase($facts['os']['name'])
  apt::source { 'rabbitmq':
    ensure       => present,
    location     => "${location}/${osname}",
    repos        => $repos,
    include      => { 'src' => $include_src },
    key          => {
      'id'      => $key,
      'source'  => $key_source,
      'content' =>  $key_content,
    },
    architecture => $architecture,
  }

  if $pin {
    apt::pin { 'rabbitmq':
      packages => '*',
      priority => $pin,
      origin   => 'packagecloud.io',
    }
  }
}