Fork me on GitHub

Example42 modules Features

The Example42 modules set have been developed with these guidelines and targets:

- Quick creation of new full-featured (see below) modules for an expanding set of managed applications 
- Easily expandable Multi OS support (default test platfoms: Debian/Ubuntu and RedHat/Centos)
- Separation between module core and project related customizations for better reusability
- Automatic monitoring features, based on a pluggable set of monitor tools (Nagios, Munin, Collectd, Monit, Puppi... )
- Standard module structure based of the "foo" module template that eases maintenace, updates and cloning
- Include & Play approach with default settings changeable via user variables
- Puppi module to manage application deployments and host based operations
- Built-in debugging  and experimental features for auto-firewalling, backup, inline configurations modification.

- Provide a "easy to use" and coherent Puppet environment
Standardized naming conventions and modules layout organization.
Modules structure follows Puppet's standards.
Modules are based on the foo module template for quick cloning and consistent approach

- Default working classes easy to adapt to custom needs
Modules work "out of the box" with default configurations.
A module default class just installs and eventually runs the application.
Customization and personalization should be easy to do and integrate for different cases.

- Wrappers for common functions
Use of wrappers to standardize common functions indipendently of the software used: 
"Config" wrapper to manage inline modifications of files using different methods (Augeas, replaceline... ).
"Monitor" wrapper to monitor hosts and service with different tools (Munin, Collectd, Nagios...).
"Backup" wrapper to manage backus of directories using different methods
"Firewall" for automatic firewalling,
Evaluating other wrappers such as "Link", "Audit"...

- System Administrator oriented
Puppet code tends to be simple. Standard classes have similar structure.
Freedom to modify configuration files via templates, static files or single inline modifications.
"Puppettization" of an existing infrastructure should be easy and done step by step.

- Cross Operating System
Support for different Operating Systems, versions and architectures.
Basic testing is done on RedHat/Centos and Debian/Ubuntu
Support for Suse, Solaris and FreeBSD is planned according to needs or request.

- Fitting for heterogenous projects and network infrastructures
Include only the modules you choose. Use internal or external nodes tools (Foreman, Puppet Dashboard).
For internal nodes, different architectural designs are suggested in the separated Example42 Puppet Infrastructures git repo.
Basic approach is: You define variables and include modules.

Copyright © 2011 Lab42. Drupal theme by Kiwi Themes.