Forge Home


Setup the Puppet Labs Yum package repo


45,625 latest version

4.1 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.1.4 (latest)
  • 0.1.3
  • 0.1.0
  • 0.0.2
  • 0.0.1
released Oct 1st 2013

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'stahnma-puppetlabs_yum', '0.1.4'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add stahnma-puppetlabs_yum
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install stahnma-puppetlabs_yum --version 0.1.4

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



stahnma/puppetlabs_yum — version 0.1.4 Oct 1st 2013

Configure repositories for


This module basically just mimics the puppetlabs-release rpm. The same repos are enabled/disabled and the GPG key is imported. In the end you will end up with the repos configured.

The following Repos will be setup and enabled by default:

  • puppetlabs-products
  • puppetlabs-deps

Other repositories that will setup but disabled (as per the puppetlabs-release setup)

  • puppetlabs-devel (pre-release software)
  • puppetlabs-source (source packages)

New in 0.1.2

This module now noops if you have PE installed as not to put the system in a state of confusion.

This commit creates a custom fact to determine if pe-puppet-enterprise-release is installed. If it is, we just noop the module. This allows for all systems to have this modules setup and classified while still retraining relatively sane and expected behavior.

New in 0.1.0

Devel can now be enabled through a class parameter through. enable_devel = true


If you have an http proxy required to access the internet, you can use the $proxy variable in the params.pp file. If it is set to a value other than 'absent' a proxy will be setup with each repository. Note that otherwise each of the repos will fall back to settings in the /etc/yum.conf file.


I was one of the people who set up yum.puppetlabs. My team owns the Puppet Labs release rpm so this puppet module should stay fairly in line with whatever happens to the upstream package.

This module would allow to use something like a stock puppet in to configure the repository to upgrade to a newer one.

Note there is a puppetlabs-release package that basically does the same thing this module does. It is found in the products folders under your respective family and version of operating system.

Futher Information


  • This was tested using Puppet 2.7.x on Centos5/6
  • I assume it will work on any RHEL or Fedora variant
  • Also, I think this should work with earlier versions of Puppet (2.6.x at least)

Unit tests

$ bundle install
$ bundle exec rake spec:all


Apache Software License 2.0