272
|
1 # Configure EPEL (Extra Repository for Enterprise Linux)
|
|
2
|
|
3 # Note
|
|
4
|
|
5 This is the last release that will support anything before Puppet 4.
|
|
6
|
|
7 # About
|
|
8 This module basically just mimics the epel-release rpm. The same repos are
|
|
9 enabled/disabled and the GPG key is imported. In the end you will end up with
|
|
10 the EPEL repos configured.
|
|
11
|
|
12 The following Repos will be setup and enabled by default:
|
|
13
|
|
14 * epel
|
|
15
|
|
16 Other repositories that will setup but disabled (as per the epel-release setup)
|
|
17
|
|
18 * epel-debuginfo
|
|
19 * epel-source
|
|
20 * epel-testing
|
|
21 * epel-testing-debuginfo
|
|
22 * epel-testing-source
|
|
23
|
|
24 # Usage
|
|
25
|
|
26 In nearly all cases, you can simply _include epel_ or classify your nodes with
|
|
27 the epel class. There are quite a few parameters available if you need to modify
|
|
28 the default settings for the epel repository such as having your own mirror, an
|
|
29 http proxy, or disable gpg checking.
|
|
30
|
|
31 You can also use a puppet one-liner to get epel onto a system.
|
|
32
|
|
33 puppet apply -e 'include epel'
|
|
34
|
|
35 # Proxy
|
|
36 If you have a http proxy required to access the internet, you can use either
|
|
37 a class parameter in the _epel_ class (epel_proxy), or edit the $proxy variable
|
|
38 in the params.pp file. By default no proxy is assumed.
|
|
39
|
|
40 # Why?
|
|
41 I am a big fan of EPEL. I actually was one of the people who helped get it
|
|
42 going. I am also the owner of the epel-release package, so in general this
|
|
43 module should stay fairly up to date with the official upstream package.
|
|
44
|
|
45 I just got sick of coding Puppet modules and basically having an assumption
|
|
46 that EPEL was setup or installed. I can now depend on this module instead.
|
|
47
|
|
48 I realize it is fairly trivial to get EPEL setup. Every now-and-then however
|
|
49 the path to epel-release changes because something changes in the package (mass
|
|
50 rebuild, rpm build macros updates, etc). This module will bypass the changing
|
|
51 URL and just setup the package mirrors.
|
|
52
|
|
53 This does mean that if you are looking for RPM macros that are normally
|
|
54 included with EPEL release, this will not have them.
|
|
55
|
|
56 # Further Information
|
|
57
|
|
58 * [EPEL Wiki](http://fedoraproject.org/wiki/EPEL)
|
|
59 * [epel-release package information](http://mirrors.servercentral.net/fedora/epel/6/i386/repoview/epel-release.html)
|
|
60
|
|
61 # ChangeLog
|
|
62
|
|
63 =======
|
|
64
|
|
65 1.3.1
|
|
66 * Remove an Epel::Rpm_gpg_key collector that could cause circular dependencies
|
|
67
|
|
68 1.3.0
|
|
69 * 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.
|
|
70 * Ability to specify your own TLS certs
|
|
71 * repo files are now templated instead of sourced.
|
|
72 * properly use metalink vs mirrorlist
|
|
73
|
|
74 1.2.2
|
|
75 * Add dep on stdlib for getvar function call
|
|
76
|
|
77 1.2.1
|
|
78 * Minor fix that lets facter 1.6 still work
|
|
79 * Enforce strict variables
|
|
80
|
|
81 1.2.0
|
|
82 * Rework testing to use TravisCI
|
|
83 * If you specify a baseurl, disable mirrorlist
|
|
84
|
|
85 1.1.1
|
|
86 * Ensure that GPG keys are using short IDs (issue #33)
|
|
87
|
|
88 1.1.0
|
|
89 * Default URLs to be https
|
|
90 * Add ability to include/exclude packages
|
|
91
|
|
92 1.0.2
|
|
93 * Update README with usage section.
|
|
94 * Fix regression when os_maj_version fact was required
|
|
95 * Ready for 1.0 - replace Modulefile with metadata.json
|
|
96 * Replace os_maj_version custom fact with operatingsystemmajrelease
|
|
97 * Works for EPEL7 now as well.
|
|
98
|
|
99 # Testing
|
|
100
|
|
101 * This is commonly used on Puppet Enterprise 3.x
|
|
102 * This was tested using Puppet 3.3.0 on Centos5/6
|
|
103 * This was tested using Puppet 3.1.1 on Amazon's AWS Linux
|
|
104 * This was tested using Puppet 3.8 and Puppet 4 now as well!
|
|
105 * Note Ruby 2.2 and Puppet 3.8 are not yet friends.
|
|
106 * I assume it will work on any RHEL variant (Amazon Linux is debatable as a variant)
|
|
107 * Amazon Linux compatability not promised, as EPEL doesn't always work with it.
|
|
108
|
|
109 # Lifecycle
|
|
110
|
|
111 * 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.
|
|
112 * This also assumes a facter of greater than 1.7.0 -- at least from a testing perspective.
|
|
113 * I'm not actively fixing bugs for anything in facter < 2 or puppet < 3.8
|
|
114
|
|
115 ## Unit tests
|
|
116
|
|
117 Install the necessary gems
|
|
118
|
|
119 bundle install --path vendor --without system_tests
|
|
120
|
|
121 Run the RSpec and puppet-lint tests
|
|
122
|
|
123 bundle exec rake test
|
|
124
|
|
125 ## System tests
|
|
126
|
|
127 If you have Vagrant >=1.1.0 you can also run system tests:
|
|
128
|
|
129 RSPEC_SET=centos-64-x64 bundle exec rake spec:system
|
|
130
|
|
131 Available RSPEC_SET options are in .nodeset.yml
|
|
132
|
|
133 # License
|
|
134 Apache Software License 2.0
|
|
135
|
|
136 # Author/Contributors
|
|
137 * Aaron <slapula@users.noreply.github.com>
|
|
138 * Alex Harvey <Alex_Harvey@amp.com.au>
|
|
139 * Chad Metcalf <metcalfc@gmail.com>
|
|
140 * Ewoud Kohl van Wijngaarden <e.kohlvanwijngaarden@oxilion.nl>
|
|
141 * Jeffrey Clark <jclark@nmi.com>
|
|
142 * Joseph Swick <joseph.swick@meltwater.com>
|
|
143 * Matthaus Owens <mlitteken@gmail.com>
|
|
144 * Michael Hanselmann <hansmi@vshn.ch>
|
|
145 * Michael Stahnke <stahnma@fedoraproject.org>
|
|
146 * Michael Stahnke <stahnma@puppet.com>
|
|
147 * Michael Stahnke <stahnma@puppetlabs.com>
|
|
148 * Michael Stahnke <stahnma@websages.com>
|
|
149 * Mickaël Canévet <mickael.canevet@camptocamp.com>
|
|
150 * Nick Le Mouton <nick@noodles.net.nz>
|
|
151 * Pro Cabales <proletaryo@gmail.com>
|
|
152 * Proletaryo Cabales <proletaryo@gmail.com>
|
|
153 * Riccardo Calixte <rcalixte@broadinstitute.org>
|
|
154 * Robert Story <rstory@localhost>
|
|
155 * Rob Nelson <rnelson0@gmail.com>
|
|
156 * Stefan Goethals <stefan@zipkid.eu>
|
|
157 * Tim Rupp <caphrim007@gmail.com>
|
|
158 * Toni Schmidbauer <toni@stderr.at>
|
|
159 * Trey Dockendorf <treydock@gmail.com>
|
|
160 * Troy Bollinger <troy@us.ibm.com>
|
|
161 * Vlastimil Holer <holer@ics.muni.cz>
|
|
162
|
|
163 # Alternatives
|
|
164 If you're on CentOS 7, you can just `yum install epel-release` as it's in centos-extras.
|