Configure EPEL (Extra Repository for Enterprise Linux)
This module basically just mimics the epel-release rpm. The same repos are enabled/disabled and the GPG key is imported. In the end you will end up with the EPEL repos configured.
The following Repos will be setup and enabled by default:
Other repositories that will setup but disabled (as per the epel-release setup)
In nearly all cases, you can simply include epel or classify your nodes with the epel class. There are quite a few parameters available if you need to modify the default settings for the epel repository such as having your own mirror, an http proxy, or disable gpg checking.
A list of all parameters is available in REFERENCE.md.
You can also use a puppet one-liner to get epel onto a system.
puppet apply -e 'include epel'
If you have a http proxy required to access the internet, you can use either a class parameter in the epel class (epel_proxy), or edit the $proxy variable in the params.pp file. By default no proxy is assumed.
I am a big fan of EPEL. I actually was one of the people who helped get it going. I am also the owner of the epel-release package, so in general this module should stay fairly up to date with the official upstream package.
I just got sick of coding Puppet modules and basically having an assumption that EPEL was setup or installed. I can now depend on this module instead.
I realize it is fairly trivial to get EPEL setup. Every now-and-then however the path to epel-release changes because something changes in the package (mass rebuild, rpm build macros updates, etc). This module will bypass the changing URL and just setup the package mirrors.
This does mean that if you are looking for RPM macros that are normally included with EPEL release, this will not have them.
Testing and Compatibility
- This module is tested on CentOS 6, 7 and 8 with Puppet 5 and Puppet 6.
- It should work on any RHEL variant such as RedHat, OracleLinux, Scientific Linux etc.
- Amazon Linux compatability is not promised, as EPEL doesn't always work with it.
- Support for EL5 is deprecated. It may still work but we have no acceptance tests. CentOS 5 is EOL and RHEL5 and OracleLinux 5 extended support for most customers is due to end in 2020.
Install the necessary gems
bundle install --path vendor --without system_tests
Run the RSpec and puppet-lint tests
bundle exec rake test
If you have Vagrant >=1.1.0 you can also run system tests:
RSPEC_SET=centos-64-x64 bundle exec rake spec:system
Available RSPEC_SET options are in .nodeset.yml
- Aaron firstname.lastname@example.org
- Alex Harvey Alex_Harvey@amp.com.au
- Chad Metcalf email@example.com
- Ewoud Kohl van Wijngaarden firstname.lastname@example.org
- Jeffrey Clark email@example.com
- Joseph Swick firstname.lastname@example.org
- Matthaus Owens email@example.com
- Michael Hanselmann firstname.lastname@example.org
- Michael Stahnke email@example.com
- Michael Stahnke firstname.lastname@example.org
- Michael Stahnke email@example.com
- Michael Stahnke firstname.lastname@example.org
- Mickaël Canévet email@example.com
- Nick Le Mouton firstname.lastname@example.org
- Pro Cabales email@example.com
- Proletaryo Cabales firstname.lastname@example.org
- Riccardo Calixte email@example.com
- Robert Story rstory@localhost
- Rob Nelson firstname.lastname@example.org
- Siebrand Mazeland email@example.com
- Stefan Goethals firstname.lastname@example.org
- Tim Rupp email@example.com
- Toni Schmidbauer firstname.lastname@example.org
- Trey Dockendorf email@example.com
- Troy Bollinger firstname.lastname@example.org
- Vlastimil Holer email@example.com
If you're on CentOS 7 or CentOS 8, you can just
yum install epel-release as it's in centos-extras.