- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with yum
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
The yum module provides several repositories available for RPM based RHEL 6 clones like CentOS or Scientific Linux.
The yum module provides several repositories available for RPM based RHEL 6 clones like CentOS or Scientific Linux.
- yum package.
- yum configuration file.
- yum repository configuration.
include '::yum' is enough to get you up and running if the parameters point to proper values. If you wish to pass in parameters like which repositories to use then you can use:
class { '::yum':
repo_foreman => true,
}
All interaction with the yum module can do be done through the main yum class. This means you can simply toggle the options in the yum class to get at the full functionality. You also have the possibility to include classes in the order you need.
include '::yum'
class { '::yum':
repo_foreman => true,
}
- yum: Main class, includes all the rest.
- yum::install: Handles the packages.
- yum::config: Handles the configuration file.
The following parameters are available in the yum module
Define if yum repositories are managed by module
Define if yum repositories should be stored on tmpfs instead of harddisk
Define if yum should automatically update the system every night
List of RPMs that are exclude during yum run
Should yum proxy be used and if yes, define URL, i.e. http://mycache.mydomain.com:3128
Use defined user to connect to proxy server
Use defined password to connect to proxy server
Enable SL and SLx repository.
Enable CentOS repository.
Enable Software Collections repository.
Enable EPEL repository.
Enable Puppetlabs repository.
Enable Foreman repository.
Enable Passenger repository.
Enable Ovirt repository.
Enable Icinga repository.
Enable custom repository.
Enable upgradetool repository.
$el_custom = $yum::params::el_custom,
$el_epel = $yum::params::el_epel,
$el_epel_debuginfo = $yum::params::el_epel_debuginfo,
$el_epel_source = $yum::params::el_epel_source,
$el_epel_testing = $yum::params::el_epel_testing,
$el_epel_testing_debuginfo = $yum::params::el_epel_testing_debuginfo,
$el_epel_testing_source = $yum::params::el_epel_testing_source,
$el_foreman = $yum::params::el_foreman,
$el_foreman_source = $yum::params::el_foreman_source,
$el_foreman_plugins = $yum::params::el_foreman_plugins,
$el_foreman_plugins_source = $yum::params::el_foreman_plugins_source,
$el_icinga = $yum::params::el_icinga,
$el_owncloud = $yum::params::el_owncloud,
$el_passenger = $yum::params::el_passenger,
$el_passenger_testing = $yum::params::el_passenger_testing,
$el_puppetlabs_products = $yum::params::el_puppetlabs_products,
$el_puppetlabs_products_source = $yum::params::el_puppetlabs_products_source,
$el_puppetlabs_deps = $yum::params::el_puppetlabs_deps,
$el_puppetlabs_deps_source = $yum::params::el_puppetlabs_deps_source,
$el_puppetlabs_devel = $yum::params::el_puppetlabs_devel,
$el_puppetlabs_devel_source = $yum::params::el_puppetlabs_devel_source,
$el_sl = $yum::params::el_sl,
$el_sl_security = $yum::params::el_sl_security,
$el_sl_source = $yum::params::el_sl_source,
$elx_sl = $yum::params::elx_sl,
$elx_sl_security = $yum::params::elx_sl_security,
$elx_sl_fastbugs = $yum::params::elx_sl_fastbugs,
$el_softwarecollections = $yum::params::el_softwarecollections,
$el_softwarecollections_source = $yum::params::el_softwarecollections_source
This module has been built on and tested against Puppet 3.7 and higher.
The module has been tested on:
- CentOS Linux 6, 7
- Scientific Linux 6
Testing on other platforms has been light and cannot be guaranteed.
This module does currently only support a limited set of distributions and need to be reworked for other distributions as well. I use static files instead of the yum provider to stay in sync with the files that the repository creators deliver. Some more parameters can be implemented, i.e., activating or disabling repositories and features is currently only possible inside the template. That should be implemented as parameters in the future.
If you like to add or improve this module, feel free to fork the module and send me a merge request with the modification.