Skip to content
Example(42) complete set of Puppet Modules
Ruby
Find file
Latest commit 693c3f2 @alvagante alvagante Updated perl v2.0.21
Failed to load latest commit information.
Example42-documentation @ fc40709 Submodules updates
Example42-templates @ 28c6bee Updates
Example42-tools @ 8dacec9 Bunch update of submodules
Example42-tutorials @ 8cfbacf Updated Example42 complementary repos
activemq @ fd28346 Updated activemq v2.0.18
apache @ e742dd7 Updated php v2.0.24
apt @ f183349 Updated apt v2.0.15
auth @ 5d50583 Submodules updates
autofs @ 4400fc0 Updated autofs v2.0.13
bacula @ fff9797 Major submodules sync
bind @ 0dceb18 Updated php v2.0.24
bluepill @ a847aec Updated submodules
bundler @ 5f0aac7 Updated bundler v2.0.14
ceilometer @ f48a379 Bunch update of submodules
ceph @ 58c63e8 Bunch update of submodules
chronos @ 0eea07e Updated php v2.0.24
cinder @ 51036eb Bunch update of submodules
clvm @ f95c410 Updated clvm v2.0.14
collectd @ f05987c Updated collectd v3.0.7
concat @ c307bee Updated php v2.0.24
corosync @ 54ea59e Bunch update of submodules
ddclient @ 4263d5c Submodules updates
dhcpd @ c8f9400 Updated dhcpd v2.0.15
django @ 41cb8e2 Bunch update of submodules
dnsmasq @ cff07e9 Major submodules sync
dovecot @ 114148a Updated dovecot v2.0.16
elasticsearch @ c52932d Updated elasticsearch v2.0.19
example42 @ f85e1b1 Updated submodules
exim @ ada0611 Updated exim v2.0.16
exported_vars @ bfc9f36 Updated 3rd party modules
extlib @ 6bf619e Updated php v2.0.24
firewall @ b541105 Bunch update of submodules
foreman @ 4cf3920 Updated foreman v2.0.14
freeradius @ ba02f9a Updated freeradius v2.0.12
git @ 42a49f1 Updated git v2.0.18
glance @ 6254932 Bunch update of submodules
graylog2 @ 97e8ce6 Updated graylog2 v2.0.16
haproxy @ 5bc4fc5 Updated haproxy v2.0.17
heartbeat @ 2fcceca Updated heartbeat v2.0.12
hosts @ c1ffbe7 Updated hosts v2.0.17
icinga @ 3bbfdd4 Updated icinga v2.1.7
icinga2 @ 8fd92c3 Bunch update of submodules
iptables @ d6a73d3 Updated iptables v2.1.13
java @ 9a4d5f5 Updated java v2.0.6
jboss @ c8d338f Updated jboss v2.0.13
jenkins @ b61ccea Updated jenkins v2.0.11
keystone @ b753dbe Bunch update of submodules
kibana @ 88cd3a7 Updated kibana v3.0.4
libvirt @ 8780b3c Updated libvirt v2.0.10
lighttpd @ bdc240b Updated lighttpd v2.0.12
limits @ e28ff8d Updated limits v2.0.3
logrotate @ 43985d4 Updated php v2.0.24
logstash @ 350d423 Updated logstash v2.0.16
lsb @ 60c8244 Updated lsb v2.0.14
mailx @ 735232d Updated mailx v2.0.14
mariadb @ 2c3a6f3 Bunch update of submodules
maven @ 15f818c Bunch update of submodules
mcollective @ af89c37 Updated mcollective v2.0.14
memcached @ 1a7e63d Updated memcached v3.0.5
mesos @ 46b2ae3 Updated php v2.0.24
module_data @ f62e245 Bunch update of submodules
mongodb @ c67dcc4 Updated mongodb v2.0.15
monit @ 17c4ae1 Updated monit v2.0.16
monitor @ 180d3dc Updated php v2.0.24
msmtp @ 778f81b Bunch update of submodules
multipath @ c08466d Updated multipath v2.0.14
munin @ 0703fc0 Bunch update of submodules
mysql @ 6b458d2 Updated mysql v2.1.6
nagios @ 1db857b Updated nagios v2.0.20
network @ 2f1fd05 Updated network v3.2.2
newrelic @ d4c44fa Bunch update of submodules
nfs @ 838444b Updated nfs v2.0.15
nginx @ 359cece Major submodules sync
nova @ 7cc6d0e Bunch update of submodules
nrpe @ a1202e9 Updated nrpe v2.0.14
ntp @ ff5a938 Updated ntp v2.0.14
nut @ 58df4d3 Submodules updates
openntpd @ 8b9c98d Updated openntpd v2.0.9
openssh @ a485a21 Updated openssh v2.0.11
openvpn @ 279a679 Updated openvpn v2.0.12
openvswitch @ 09491f1 Bunch update of submodules
orientdb @ e87cd34 Updated orientdb v2.0.9
pacemaker @ 9f074b3 Bunch update of submodules
pam @ 0e9b1d8 Updated pam v2.0.15
pentaho @ 5912939 Bunch update of submodules
perl @ 90c0c63 Updated perl v2.0.21
php @ 9801546 Updated php v2.0.24
postfix @ e40cf3f Updated postfix v2.0.20
postgresql @ 6a5a175 Updated postgresql v2.0.15
profile @ c3b40a7 Major submodules sync
proftpd @ cb4f7c1 Updated proftpd v2.0.11
pupmod-concat @ cd9a5b0 Submodules updates
puppet @ be1c7ee Updated puppet v2.0.23
puppet-skeleton-standard42 @ 79f7189 Removed mac non printing chars
puppetdashboard @ 9146662 Updated puppetdashboard v2.0.14
puppetdb @ 31d4687 Updated puppetdb v2.0.16
puppi @ 8f14ed0 Updated php v2.0.24
quagga @ 56a0dac Bunch update of submodules
quantum @ bedeafd Bunch update of submodules
rabbitmq @ db7d924 Update submodules
rclocal @ 08ebbe3 Updated rclocal v2.0.8
redis @ bb4eba7 Updated redis v2.0.9
resolver @ 8ee5281 Updated resolver v2.0.14
rhcs @ f68cb4c Updated rhcs v2.0.14
rsync @ 3345347 Updated rsync v2.0.13
rsyncssh @ 3de45c2 Bunch update of submodules
rsyslog @ 289bd64 Updated rsyslog v2.0.14
ruby @ 52b0c80 Updated ruby v2.0.16
rvm @ a32c851 Bunch update of submodules
samba @ b7020e8 Updated samba v2.0.15
scmserver @ 396963b Bunch update of submodules
sendmail @ d917c89 Bunch update of submodules
snmpd @ b489870 Updated snmpd v2.0.15
solr @ 39b3373 Bunch update of submodules
splunk @ 2c79e1a Updated splunk v2.0.14
ssmtp @ 2214f32 Bunch update of submodules
stdlib @ 2db7440 Updated php v2.0.24
stdmod @ 929ba74 Updated 3rd party modules
sudo @ d294d59 Updated sudo v2.0.17
svn @ 0ddc1d5 Updated php v2.0.24
sysctl @ 17db81e Updated sysctl v2.0.16
sysklogd @ 3647c4e Updated sysklogd v2.0.14
syslogng @ 61b2a49 Bunch update of submodules
sysstat @ 8a9e406 Bunch update of submodules
tartarus @ f5cb3d6 Bunch update of submodules
tcpwrappers @ 64d8daf Added Netmanagers tcpwrappers module
tftp @ 43d723c Updated tftp v2.0.9
timezone @ 7daa66e Updated timezone v2.0.12
tinc @ d84e35a Updated tinc v2.0.15
tinydata @ 7becc2c Updated tinydata v0.0.2
tomcat @ b9bda2e Updated php v2.0.24
tp @ 2c49190 Updated tp v0.9.5
unicorn @ 798af93 Submodules updates
user @ d059b22 Updated php v2.0.24
vagrant @ b722c01 Updated vagrant v2.0.13
varnish @ 646c4a7 Updated external submodules
vcsrepo @ 99e8b2e Updated php v2.0.24
vim @ 5dab6b3 Updated vim v2.0.14
vsftpd @ 9b5b4f9 Updated php v2.0.24
wget @ 20348cf Submodules updates
wordpress @ 3f521fa Updated wordpress v2.0.8
xinetd @ 53e3aed Updated xinetd v2.0.9
yum @ 71b06e6 Updated yum v2.1.25
zabbix_agent @ 8cc9b4a Added submodules
zip @ f6a0c6c Updated zip v2.0.14
.gitignore Major submodules sync
.gitmodules Updated tinydata v0.0.2
LICENSE Updated Example42 license to Apache2 (we follow Puppet licensing)
README.md Updated README
Rakefile No rspec tests on stdlib. For real
example42only_list.txt Major submodules sync

README.md

EXAMPLE42 PUPPET MODULES

Released under the terms of Apache2 licence.

Copyright example42 GmbH (and specific commits authors)

Official website: http://www.example42.com

Official Support forum: Google Groups

These modules are maintained by different people, either from example42 of other companies.

IMPORTANT NOTICE ON VERSIONS

Example42 modules have been delevoped over the years following Puppet's evolution.

There are currently 3 generations of example42 modules:

  • "OLD" modules (Version 1.x) are no more supported or recommended. They are supposed to work also on Puppet versions before 2.6 You can give them a look using the 1.0 branch of this repo.

  • "NextGen" modules (Version 2.x) are currently the most common. They are compatible only with Puppet version 2.6 and later. They work also with Puppet 4 but they are not optimised for it: note that their core design dates back to 2011, so don't blame us if they don't follow the latest best practices in modules development.. You find them here as git submodules. For a NextGen only modules collection use the 2.0 branch.

  • Version 3.x modules are updated versions of version 2.x modules without some of their legacy solutions (such as the usage of the params_lookup() function). They are currently under development and testing, you find them here as git submodules Some of the 2.x modules have been deprecated and are no longer maintained.

INSTALLATION

You can get the current module set, with both 2.x and 3.x modules with:

git clone --recursive git://github.com/example42/puppet-modules.git

You can get the 2.x only modules collection with:

git clone --recursive -b 2.0 git://github.com/example42/puppet-modules.git

You can get the 1.x only modules with:

git clone --recursive -b 1.0 git://github.com/example42/puppet-modules.git

You can use the Puppet Playground to test these (and other) modules on a safe Vagrant environment.

Since September 2013 most of the modules are published, and regularly updated, on the Puppet Forge.

Use the Puppet module tool to query and install Example42 modules:

    puppet module search example42

UPDATE

When you want to update the modules with the upstream version remember that also the submodules have to be updated:

cd /etc/puppet/modules # Or the dir where you have your local git repo

git pull origin master
git submodule init
git submodule update

If you want to force an update on each submodule, even if not tracked on the main repo:

git submodule foreach git pull origin master

The above commands (excluded the first cd and included the last) are done by the script:

Example42-tools/sync.sh

** DO NOT UPDATE IN PRODUCTION !!! ** To preserve freedom to reorganize modules and keep them updated this repo is going to keep track of the most current versions of the various modules. This can introduce backwards incompatibilities when a module is converted to the new major version (for example when 1.x have been completely removed or 2.x modules are converted to 3.x).

DEPENDENCIES

All the modules have a Modulefile where dependencies are described.

All the NextGen (2.x) modules require the presence in the $modulepath of the 'puppi' module, but you are not required to use Puppi (the dependency is for some extra functions prresent in the puppi module, which can be used even without including puppi in your manifests).

PuppetLabs' stdlib may be required in some cases.

Most of the modules have a limited set of dependencies and, in some cases, you can pass a specific option (install_dependencies => false) to skip the inclusion of dependent classes from the Example42 set (in these cases you are supposed to provide the same resources in other ways).

If you enable the monitor or firewall options you have to include the relevant modules: respectively, monitor + the used monitor tool and firewall + iptables.

Note that monitor and firewall integrations are optional.

OPERATING SYSTEMS SUPPORT

Currently most of the modules are tested on the following Operating systems:

  • RedHat / Centos versions 5 and 6

  • Scientific Linux version 6

  • Debian 6 and 7

  • Ubuntu 10.04 and 12.04

Some of the modules have support for:

  • OpenSuse 11 and 12

  • Suse Enterprise Linux 11

  • Solaris 11

Most of the modules are expected to work on:

  • Amazon Linux 3

  • Fedora

  • Mint

If you need support or better testing for specific operating systems and versions the best thing you can do is to provide an usable Vagrant Base box for the Example42 Puppet Playground.

CONTRIBUTE

Pull requests via GitHub are welcomed, please review the general style and logic of the modules in order to submit consistent patches. These modules are intended to be used anywhere without any modification of their content: if you have to change them to suit your needs either they have some bugs or missing features or you're using them in the wrong way.

Please provide patches puppet-lint compliant and, where possible, provide rspec unit tests.

If you have a module not present in this set based on the Example42 templates, feel free to provide a a link to its repo url, we can add it as submodule.

DIFFERENCES BETWEEN VERSIONS 2.x and 3.x

3.x modules have these differences:

  • params_lookup function is removed, use Puppet 3 data bindings to data input alternatives

  • some parameters names are changed, according to stdmod namings

EXAMPLE42 MODULES AND TINY PUPPET

Tiny Puppet is a single module, developed by example42, that can be used to manage virtually any application.

It's based on the experience and the usage and reusability patterns we have explored, during the years, while writing our modules.

Under some points of view it can be considered as a single replacement for ALL the example42 modules, at least for their common functionality.

The deprecrated example42 modules can be replaced by the usage of Tiny Puppet (or other third party modules).

For basic management of package/service/configuration file of applications, we recommend the usage of Tiny Puppet over our deprecated modules.

CONSTIBUTIONS

Modules code, issue tracking and features requests are on GitHub

For questions, suggestions and general discussion use the Example42 Puppet Modules Google group

If you need a specific module, improvements or conversion to 3.x of an existing one consider the possibility to sponsor it

If you want to co-maintain of our modules, please contact us.

Something went wrong with that request. Please try again.