This version is compatible with:
- Puppet Enterprise 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >= 3.0.0
This module has been deprecated by its author since Feb 20th 2020.
The reason given was: Transferred to Vox Pupuli
The author has suggested puppet-epel as its replacement.
Start using this module
Configure EPEL (Extra Repository for Enterprise Linux)
This is the last release that will support anything before Puppet 4.
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.
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.
- Allow this module to work on systems when global repo_gpgcheck = 1 #82
- Amazon Linux 2 - bugfix - use enterprise linux 7 #95
- Add support for RHEL 8 and CentOS 8 #92
- Adjust gpg args to account for slightly different display. #84
- Remove an Epel::Rpm_gpg_key collector that could cause circular dependencies
Add ability to disable and not define any resources from this module. This is useful if another module pulls in this module, but you already have epel managed another way.
Ability to specify your own TLS certs
repo files are now templated instead of sourced.
properly use metalink vs mirrorlist
Add dep on stdlib for getvar function call
Minor fix that lets facter 1.6 still work
Enforce strict variables
Rework testing to use TravisCI
If you specify a baseurl, disable mirrorlist
Ensure that GPG keys are using short IDs (issue #33)
Default URLs to be https
Add ability to include/exclude packages
Update README with usage section.
Fix regression when os_maj_version fact was required
Ready for 1.0 - replace Modulefile with metadata.json
Replace os_maj_version custom fact with operatingsystemmajrelease
Works for EPEL7 now as well.
- This is commonly used on Puppet Enterprise 3.x
- This was tested using Puppet 3.3.0 on Centos5/6
- This was tested using Puppet 6.10.1 on CentOS 8
- This was tested using Puppet 3.1.1 on Amazon's AWS Linux
- This was tested using Puppet 3.8 and Puppet 4 now as well!
- Note Ruby 2.2 and Puppet 3.8 are not yet friends.
- I assume it will work on any RHEL variant (Amazon Linux is debatable as a variant)
- Amazon Linux compatability not promised, as EPEL doesn't always work with it.
- No functionality has been introduced that should break Puppet 2.6 or 2.7, but I am no longer testing these versions of Puppet as they are end-of-lifed from Puppet Labs.
- This also assumes a facter of greater than 1.7.0 -- at least from a testing perspective.
- I'm not actively fixing bugs for anything in facter < 2 or puppet < 3.8
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
Apache Software License 2.0
- Aaron email@example.com
- Alex Harvey Alex_Harvey@amp.com.au
- Chad Metcalf firstname.lastname@example.org
- Ewoud Kohl van Wijngaarden email@example.com
- Jeffrey Clark firstname.lastname@example.org
- Joseph Swick email@example.com
- Matthaus Owens firstname.lastname@example.org
- Michael Hanselmann email@example.com
- Michael Stahnke firstname.lastname@example.org
- Michael Stahnke email@example.com
- Michael Stahnke firstname.lastname@example.org
- Michael Stahnke email@example.com
- Mickaël Canévet firstname.lastname@example.org
- Nick Le Mouton email@example.com
- Pro Cabales firstname.lastname@example.org
- Proletaryo Cabales email@example.com
- Riccardo Calixte firstname.lastname@example.org
- Robert Story rstory@localhost
- Rob Nelson email@example.com
- Siebrand Mazeland firstname.lastname@example.org
- Stefan Goethals email@example.com
- Tim Rupp firstname.lastname@example.org
- Toni Schmidbauer email@example.com
- Trey Dockendorf firstname.lastname@example.org
- Troy Bollinger email@example.com
- Vlastimil Holer firstname.lastname@example.org
If you're on CentOS 7 or CentOS 8, you can just
yum install epel-release as it's in centos-extras.
- puppetlabs/stdlib (>= 3.0.0)
Copyright 2012-2014 Michael Stahnke Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.