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