Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Example42 Puppet Modules Version 2.x

branch: master

Merge pull request #16 from bitdeli-chef/master

Add a Bitdeli Badge to README
latest commit 7b9fb95ac4
Alessandro Franceschi authored December 02, 2013
Octocat-spinner-32 Example42-documentation @ d267ef2 Added LICENSE September 07, 2013
Octocat-spinner-32 Example42-templates @ 6977aec Updated submodules October 25, 2013
Octocat-spinner-32 Example42-tools @ 04d6a23 Updates October 25, 2013
Octocat-spinner-32 Example42-tutorials @ 2433aef Updates October 18, 2013
Octocat-spinner-32 activemq @ fe9f13e Updates September 14, 2013
Octocat-spinner-32 apache @ 054dde3 Updates October 05, 2013
Octocat-spinner-32 apt @ 5b97d09 Updates October 17, 2013
Octocat-spinner-32 auth @ 057cc21 Updates September 14, 2013
Octocat-spinner-32 autofs @ 5770157 Updates September 10, 2013
Octocat-spinner-32 bacula @ 190348f Updated gitsubmodules October 17, 2013
Octocat-spinner-32 bind @ 1207a6c Added Netmanagers Bind module September 03, 2013
Octocat-spinner-32 bluepill @ a847aec Updated submodules September 03, 2013
Octocat-spinner-32 bundler @ a14502c Updates September 10, 2013
Octocat-spinner-32 c_icap @ 3c65b8e Updated submodules September 25, 2013
Octocat-spinner-32 ceph @ db3440e Updates September 10, 2013
Octocat-spinner-32 clvm @ 150c099 Updates September 10, 2013
Octocat-spinner-32 concat @ 1e63ec4 Updates October 17, 2013
Octocat-spinner-32 ddclient @ 83ec331 Updated submodules September 03, 2013
Octocat-spinner-32 dhcpd @ 8aff779 Updates September 10, 2013
Octocat-spinner-32 django @ 561921a Updates September 10, 2013
Octocat-spinner-32 dnsmasq @ 3ab0bcb Updated submodules September 03, 2013
Octocat-spinner-32 dovecot @ 9885e86 Updates September 10, 2013
Octocat-spinner-32 elasticsearch @ 35f65e2 Updates September 14, 2013
Octocat-spinner-32 example42 @ 138fa8f Updates September 14, 2013
Octocat-spinner-32 exim @ 1805299 Updates September 10, 2013
Octocat-spinner-32 exported_vars @ a18ff4b Updates September 10, 2013
Octocat-spinner-32 eye @ b36a67e Updated submodules September 25, 2013
Octocat-spinner-32 firewall @ 83b2aed Updates September 14, 2013
Octocat-spinner-32 foreman @ c8aaf91 Updates October 25, 2013
Octocat-spinner-32 freeradius @ f63e92d Updates September 10, 2013
Octocat-spinner-32 git @ 3f36a44 Updates October 05, 2013
Octocat-spinner-32 glance @ 3ab09c4 Updates September 10, 2013
Octocat-spinner-32 graylog2 @ e876f01 Updates September 14, 2013
Octocat-spinner-32 haproxy @ 0cfbff9 Updates September 14, 2013
Octocat-spinner-32 heartbeat @ 11e75bd Added LICENSE September 07, 2013
Octocat-spinner-32 hosts @ 409fa47 Updated gitsubmodules October 17, 2013
Octocat-spinner-32 icinga @ 8beba07 Added LICENSE September 07, 2013
Octocat-spinner-32 inittab @ 3883648 Updates September 10, 2013
Octocat-spinner-32 iptables @ 008cadf Added LICENSE September 07, 2013
Octocat-spinner-32 java @ 8dc81d2 Updated gitsubmodules October 17, 2013
Octocat-spinner-32 jboss @ 614c95d Added LICENSE September 07, 2013
Octocat-spinner-32 jenkins @ 412cea7 Updates October 25, 2013
Octocat-spinner-32 kibana @ ccd158e Updates September 14, 2013
Octocat-spinner-32 libvirt @ 1519033 Updated gitsubmodules October 17, 2013
Octocat-spinner-32 lighttpd @ c2f1da1 Added LICENSE September 07, 2013
Octocat-spinner-32 logrotate @ 95d1200 Updates September 10, 2013
Octocat-spinner-32 logstash @ d3b2602 Updated gitsubmodules October 17, 2013
Octocat-spinner-32 lsb @ c8b421f Updates September 10, 2013
Octocat-spinner-32 mailx @ 19f67bc Updates September 10, 2013
Octocat-spinner-32 maven @ d3248e8 Added LICENSE September 07, 2013
Octocat-spinner-32 mcollective @ 9762579 Updates September 28, 2013
Octocat-spinner-32 mongodb @ f1dae19 Updates September 10, 2013
Octocat-spinner-32 monit @ 5c7c94c Updates October 25, 2013
Octocat-spinner-32 monitor @ 140110c Updated gitsubmodules October 17, 2013
Octocat-spinner-32 msmtp @ 07e14ab Updates September 10, 2013
Octocat-spinner-32 multipath @ bb322a2 Updates September 10, 2013
Octocat-spinner-32 munin @ 354dcfe Updates September 14, 2013
Octocat-spinner-32 mysql @ 5f50eea Updated submodules September 14, 2013
Octocat-spinner-32 nagios @ 3007296 Updated gitsubmodules October 17, 2013
Octocat-spinner-32 newrelic @ 7faa392 Updates September 10, 2013
Octocat-spinner-32 nfs @ 794dac8 Updates September 10, 2013
Octocat-spinner-32 nginx @ 5f2010e Updates October 25, 2013
Octocat-spinner-32 nova @ 744a028 Updates September 10, 2013
Octocat-spinner-32 nrpe @ d50e090 Updated submodules October 25, 2013
Octocat-spinner-32 ntp @ 56e8f3e Added LICENSE September 07, 2013
Octocat-spinner-32 nut @ d0a70b8 Updated submodules September 03, 2013
Octocat-spinner-32 openntpd @ 2c5fcb4 Added LICENSE September 07, 2013
Octocat-spinner-32 openssh @ b187e50 Updated submodules September 25, 2013
Octocat-spinner-32 openvpn @ 86ff57b Updated gitsubmodules October 17, 2013
Octocat-spinner-32 openvswitch @ 9c9f727 Updates September 10, 2013
Octocat-spinner-32 orientdb @ 1c7ab8c Updated gitsubmodules October 17, 2013
Octocat-spinner-32 pam @ 81b4bad Updates September 10, 2013
Octocat-spinner-32 pdns_recursor @ 5fe32a8 Updates September 28, 2013
Octocat-spinner-32 pentaho @ b1d144f Added LICENSE September 07, 2013
Octocat-spinner-32 perl @ 9701769 Updates October 25, 2013
Octocat-spinner-32 php @ 55030ca Updates October 18, 2013
Octocat-spinner-32 postfix @ ed576b6 Updates October 05, 2013
Octocat-spinner-32 postgresql @ 0c00e26 Updates October 17, 2013
Octocat-spinner-32 profile @ f4b9f98 Updated gitsubmodules October 17, 2013
Octocat-spinner-32 proftpd @ 2130978 Updates September 10, 2013
Octocat-spinner-32 pupmod-concat @ 00cfb65 Added LICENSE September 07, 2013
Octocat-spinner-32 puppet @ 4c1191d Updates October 25, 2013
Octocat-spinner-32 puppetdashboard @ 571534e Updates October 25, 2013
Octocat-spinner-32 puppetdb @ 6f6cef9 Updates October 25, 2013
Octocat-spinner-32 puppetdbquery @ 6a5c06b Updated gitsubmodules October 17, 2013
Octocat-spinner-32 puppi @ c235fa0 Updates October 25, 2013
Octocat-spinner-32 quantum @ bb9f900 Updates September 10, 2013
Octocat-spinner-32 rclocal @ f51cee5 Updates October 25, 2013
Octocat-spinner-32 redis @ b815141 Added LICENSE September 07, 2013
Octocat-spinner-32 resolver @ cd18cde Added LICENSE September 07, 2013
Octocat-spinner-32 rhcs @ 3b33d44 Updates September 10, 2013
Octocat-spinner-32 rsync @ 58a2d09 Added LICENSE September 07, 2013
Octocat-spinner-32 rsyncssh @ 234c235 Added LICENSE September 07, 2013
Octocat-spinner-32 rsyslog @ 77f728c Updated submodules September 25, 2013
Octocat-spinner-32 ruby @ 3772aff Updates October 05, 2013
Octocat-spinner-32 rvm @ bc0094a Added LICENSE September 07, 2013
Octocat-spinner-32 samba @ 8b804f8 Updates September 10, 2013
Octocat-spinner-32 scmserver @ 364a412 Added LICENSE September 07, 2013
Octocat-spinner-32 sendmail @ 0806d53 Updates September 10, 2013
Octocat-spinner-32 snmpd @ 06d62a2 Updates October 18, 2013
Octocat-spinner-32 solr @ 190895c Updated gitsubmodules October 17, 2013
Octocat-spinner-32 splunk @ c377d98 Updates October 25, 2013
Octocat-spinner-32 ssmtp @ 90c7583 Updated submodules September 25, 2013
Octocat-spinner-32 stack @ ee21b1c Updates September 10, 2013
Octocat-spinner-32 stdlib @ d60d872 Updated submodules September 25, 2013
Octocat-spinner-32 stunnel @ 51ae74f Added victorgp stunnel module October 04, 2013
Octocat-spinner-32 sudo @ d574971 Added LICENSE September 07, 2013
Octocat-spinner-32 svn @ 6005f36 Updates October 25, 2013
Octocat-spinner-32 sysctl @ aabd722 Updates September 10, 2013
Octocat-spinner-32 sysklogd @ fe75150 Updates September 10, 2013
Octocat-spinner-32 syslog-ng @ ff82e68 Updates September 10, 2013
Octocat-spinner-32 tartarus @ bee40d3 Added LICENSE September 07, 2013
Octocat-spinner-32 tcpwrappers @ 64d8daf Added Netmanagers tcpwrappers module September 25, 2013
Octocat-spinner-32 tftp @ 67eb4e5 Updated submodules September 25, 2013
Octocat-spinner-32 timezone @ e016e4d Updated gitsubmodules October 17, 2013
Octocat-spinner-32 tinc @ 1c8823b Updates September 14, 2013
Octocat-spinner-32 tomcat @ 743a6ff Updates October 25, 2013
Octocat-spinner-32 unicorn @ f967dec Updates October 05, 2013
Octocat-spinner-32 user @ ff56e1e Added LICENSE September 07, 2013
Octocat-spinner-32 vagrant @ 70ef46a Added LICENSE September 07, 2013
Octocat-spinner-32 varnish @ 27e15a3 Updates October 05, 2013
Octocat-spinner-32 vim @ 5c60c46 Added LICENSE September 07, 2013
Octocat-spinner-32 vsftpd @ 03a9000 Updated submodules September 25, 2013
Octocat-spinner-32 wget @ 60d0447 Updates October 05, 2013
Octocat-spinner-32 wordpress @ 9b88489 Added LICENSE September 07, 2013
Octocat-spinner-32 xinetd @ c7f392d Added LICENSE September 07, 2013
Octocat-spinner-32 yum @ 4bf461f Updates October 25, 2013
Octocat-spinner-32 zabbix_agent @ 3b80278 Updates September 14, 2013
Octocat-spinner-32 zip @ 31656c6 Updates September 10, 2013
Octocat-spinner-32 .gitignore Gitignore October 24, 2012
Octocat-spinner-32 .gitmodules Added Puppetlabs concat module October 05, 2013
Octocat-spinner-32 .travis.yml Updating Puppet versions to test with Travis. September 14, 2012
Octocat-spinner-32 Gemfile Updates April 14, 2013
Octocat-spinner-32 LICENSE Added LICENSE September 07, 2013
Octocat-spinner-32 README.md Add a Bitdeli badge to README December 02, 2013
Octocat-spinner-32 Rakefile Added saner site-wide Rakefile January 13, 2012
Octocat-spinner-32 example42only_list.txt Updates October 18, 2013
README.md

Example42 Puppet Modules 2.0 : NextGen

Released under the terms of Apache2 licence.

Copyright Alessandro Franceschi / Lab42 (and specific commits authors)

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

Official Support forum: Google Groups

This repository collects all the Next-gen Example42 Puppet modules, included here as git submodules.

The official repository of Example42 Puppet modules on GitHub currently contains both old and next-gen modules for a transitional period that should last until all the modules are migrated. Old and new modules can cohexist on the same setup, but new modules have different usage patterns and are generally recommended.

INSTALLATION AND UPDATES

From 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

You can get the Next-gen only module set with:

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

To update your local copy with the upstream version:

    cd /etc/puppet/modules # Or the directory where's you local copy
    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

At times you may need to resync git modules urls. You can do that with:

    git submodule sync

You can test these modules on a safe environment using the Example42 Puppet Playground. Check it out!

FEATURES

The main features of Example42 Puppet modules (second generation):

  • Coherent and standardized structure, logic and usage based on best practices

  • Cross OS support (main targets are Redhat and Ubuntu derivatives)

  • Use of parametrized classes and fully qualified variables for Puppet 3 compliance

  • Full API exposure and classes introspection

  • Separation between core module and user's customizations, no arbitrary logic enforced.

  • Optional Puppi support for application deployments and "Puppet knowledge to the CLI"

  • Optional automatic Monitoring support based on an extensible set of tools

  • Optional automatic Firewalling support

  • Decommissiong support: you can remove (almost) whatever you've added

  • Complete documentation compliant with PuppetDoc

  • Integrated rspec-puppet tests. Code puppet-lint compliant (as much as possible)

  • Based on common "foo" templates for easy scaffolding on the modules.

DOCUMENTATION AND SUPPORT

You can find more documentation in the Example42-documentation directory.

Some Usage examples are in the example42 module.

A presentation about the features of NextGen modules: Puppet Modules: A Holistic approach.

An introductory Blog Post: The next generation of Example42 Puppet modules.

The official Support forum is on Google Groups use it for questions and discussions.

SPECIAL MODULES

Generally there's a module for each application and each module is a separated git submodule than can be indipendently retrieved from GitHub. There are some special modules or directories with different functions:

  • Example42-tools/ contains scripts useful for maintenance of the modules. No Puppet code there.

  • Example42-documentation/ contains documentation about Example42 Puppet modules and their usage.

  • Example42-tutorials/ contains Puppet the markdown code for Puppet Tutorials slides.

  • Example42-templates/ contains various differnet templates for modules' layout. The ones with the 42 suffix are used as starting scaffold for these modules.

  • example42/ is a sample project/customer/site specific module. It contains files and subclasses specific to the Example42 test lab. Here are supposed to be placed all the customizations, and ideally this module (or the equivalent with your company name) is one of the few parts where to make changes.

  • puppi/ is an Example42 Puppet module that can be used to automate and simplify the deployment of (web) applications and provides a CLI command that exposes most of the information that Puppet has (and defines) about the system. Puppi is a required dependency for all the Example42 modules because it contains some functions used by them, BUT you are not forced to use it. You just have it among your modules to retrieve (via pluginsync) the common functions.

  • monitor/ is an Example42 "meta-module" used for monitoring abstraction. It contains the definitions to use different monitor tools for a set of common resources

  • firewall/ is an Example42 "meta-module" used for firewalling abstraction.

OPERATING SYSTEMS SUPPORT

Currently the modules are generally tested on the following Operating systems:

  • RedHat / Centos versions 5 and 6

  • Scientific Linux version 6

  • Debian 6

  • Ubuntu 10.04 and 12.04

  • OpenSuse 11 and 12

  • Suse Enterprise Linux 11

Some of the modules have support for:

  • Solaris 11

Most of the modules are expected to work on:

  • Amazon Linux

  • Fedora

  • Mint

If you need support or better testing for specific operating systems and versions the best thing you can do is to provide a 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.

Do not keep your fork detached from the upstream version, please!

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.

Bitdeli Badge

Something went wrong with that request. Please try again.