bazinga
Version information
Start using this module
Add this module to your Puppetfile:
mod 'willdurand-bazinga', '0.0.16'
Learn more about managing modules with a PuppetfileDocumentation
puppet-bazinga
This Puppet module contains a set of roles and some useful functions for the following modules:
Installation
Using the Puppet Module Tool, install the
willdurand/bazinga
package by running the following command:
puppet module install willdurand/bazinga
Otherwise, clone this repository, and make sure to install the proper dependencies.
Important: Version 0.0.11
is broken, do not use it, never!
Minimum Requirements
The bazinga::roles::base
role requires the following modules to work:
Other roles need modules listed in introduction.
Installation
Get the modules above, and that one by cloning it:
git clone git://github.com/willdurand/puppet-bazinga.git modules/bazinga
The Roles
This module provides a set of roles. Most of them depends on other Puppet modules.
bazinga::roles::base
This role depends on:
It configures APT and NTP, ensures ssh
is present and running, installs common
tools such as screen
, curl
, htop
, ack-grep
, and vim
, and removes
useless packages (nfs-common
, portmap
) on standard machines (i.e. not
Vagrant machines as Vagrant requires them).
class { 'bazinga::roles::base':
vagrant => true,
}
bazinga::roles::apache
This role depends on:
It installs Apache, enables the rewrite
mod, and adds a new home directory
for the Apache user (/home/${user}/www
) if it is not the default one
(www-data
for instance).
If you want to configure your own Apache user and/or group, this role will create them:
class { 'bazinga::roles::apache':
apache_user => 'foo',
apache_group => 'bar',
}
bazinga::roles::apache_fpm
This role depends on:
It relies on the bazinga::roles::apache
role.
It installs not only Apache, but also the fastcgi
mod, enables the actions
and fastcgi
mods, installs FPM, and creates a FPM pool for the Apache user.
bazinga::roles::php
This role depends on:
It installs a fully working PHP environment including the curl
, intl
and
apc
extensions, and Composer.
Important: this role does not install anything related to any web
server. If you want to use PHP to run web applications, use the
bazinga::roles::apache_fpm
role in addition.
Important: this role does not install anything related to any database
vendor. If you want to use MySQL, use the bazinga::roles::php_mysql
role
instead.
Running the tests
Install the dependencies using Bundler:
BUNDLE_GEMFILE=.gemfile bundle install
Run the following command:
BUNDLE_GEMFILE=.gemfile bundle exec rake spec
License
puppet-bazinga is released under the MIT License. See the bundled LICENSE file for details.
Dependencies
- puppetlabs/apt ()
- puppetlabs/stdlib (>= 1.0.0)
- saz/ntp ()
Copyright (c) 2012-2013 William Durand <william.durand1@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.