Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Puppet module for Yum
Puppet HTML

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


Puppet module: yum

This is a Puppet module that manages Yum repositories for Centos RedHat and Scientific Linux

Made by Alessandro Franceschi / Lab42

Inspired by the Yum Immerda module:

Official site:

Official git repository:

Released under the terms of Apache 2 License.

This module requires functions provided by the Example42 Puppi module.


  • Just leave the default options: Automatic detection of Operating System (RedHat, Centos, Scientific supported) Epel repo installation, keeping of local yum files, automatic updates disabled.

    class { 'yum':
  • Enable automatic updates via cron (updatesd is supported only on 5)

    class { 'yum':
      update => 'cron',
  • Purge local /etc/yum.repos.d/ and enforce its contents only via a custom source

    class { 'yum':
      source_repo_dir => 'puppet:///modules/example42/yum/conf/',
      clean_repos     => true,
  • Enable EPEL and PuppetLabs repos

    class { 'yum':
      extrarepo => [ 'epel' , 'puppetlabs' ],
  • Do no include any repo

    class { 'yum':
      extrarepo => '' ,

USAGE - Overrides and Customizations

  • Enable auditing without without making changes on existing yum configuration files

    class { 'yum':
      audit_only => true
  • Use custom sources for main config file

    class { 'yum':
      source => [ "puppet:///modules/lab42/yum/yum.conf-${hostname}" , "puppet:///modules/lab42/yum/yum.conf" ],
  • Use custom source directory for the whole configuration dir

    class { 'yum':
      source_dir       => 'puppet:///modules/lab42/yum/conf/',
      source_dir_purge => false, # Set to true to purge any existing file not present in $source_dir
  • Use custom template for main config file. Note that template and source arguments are alternative.

    class { 'yum':
      template => 'example42/yum/yum.conf.erb',
  • Automatically include a custom subclass

    class { 'yum':
      my_class => 'yum::example42',

USAGE - Example42 extensions management

  • Activate puppi (recommended, but disabled by default)

    class { 'yum':
      puppi    => true,
  • Activate puppi and use a custom puppi_helper template (to be provided separately with a puppi::helper define ) to customize the output of puppi commands

    class { 'yum':
      puppi        => true,
      puppi_helper => 'myhelper',


REDHAT 6 - Full

REDHAT 5 - Full

REDHAT 4 - Partial

CENTOS 6 - Full

CENTOS 5 - Full

CENTOS 4 - Partial


AMAZON LINUX 3 (Sigh) - Partial

Something went wrong with that request. Please try again.