Puppet Class: yum::repo::puppetlabs

Defined in:
manifests/repo/puppetlabs.pp

Overview

Class: yum::repo::puppetlabs

This class installs the puppetlabs repo

Parameters:

  • baseurl_products (Any) (defaults to: '')
  • baseurl_dependencies (Any) (defaults to: '')


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
43
44
45
46
47
48
49
50
51
52
53
54
# File 'manifests/repo/puppetlabs.pp', line 5

class yum::repo::puppetlabs (
  $baseurl_products     = '',
  $baseurl_dependencies = '',
) {
  $osver = $::operatingsystem ? {
    'XenServer' => [ '5' ],
    default     => split($::operatingsystemrelease, '[.]')
  }
  $release = $::operatingsystem ? {
    /(?i:Centos|RedHat|Scientific|CloudLinux|XenServer)/ => $osver[0],
    default                                              => '6',
  }

  $real_baseurl_products = $baseurl_products ? {
    ''      => "http://yum.puppetlabs.com/el/${release}/products/\$basearch",
    default => $baseurl_products,
  }

  $real_baseurl_dependencies = $baseurl_dependencies ? {
    ''      => "http://yum.puppetlabs.com/el/${release}/dependencies/\$basearch",
    default => $baseurl_dependencies,
  }

  yum::managed_yumrepo { 'puppetlabs':
    descr          => 'Puppet Labs Packages',
    baseurl        => $real_baseurl_products,
    enabled        => 1,
    gpgcheck       => 1,
    failovermethod => 'priority',
    gpgkey         => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs',
    gpgkey_source  => 'puppet:///modules/yum/rpm-gpg/RPM-GPG-KEY-puppetlabs',
    priority       => 1,
  }

  # The dependencies repo has the same priority as base,
  # because it needs to override base packages.
  # E.g. puppet-3.0 requires Ruby => 1.8.7, but EL5 ships with 1.8.5.
  #
  yum::managed_yumrepo { 'puppetlabs_dependencies':
    descr          => 'Puppet Labs Packages',
    baseurl        => $real_baseurl_dependencies,
    enabled        => 1,
    gpgcheck       => 1,
    failovermethod => 'priority',
    gpgkey         => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs',
    gpgkey_source  => 'puppet:///modules/yum/rpm-gpg/RPM-GPG-KEY-puppetlabs',
    priority       => 1,
  }

}