chrislea
contributions requested
Puppet module for Chris Lea packages for Ubuntu, e.g. Node.js and ZeroMQ.
Version information
released Apr 3rd 2012
Start using this module
Add this module to your Puppetfile:
mod 'garthk-chrislea', '1.0.2'
Learn more about managing modules with a PuppetfileDocumentation
garthk/chrislea — version 1.0.2 Apr 3rd 2012
Puppet module for Chris Lea packages for Ubuntu, e.g. node.js and zeromq.
Inspired by niallo.
Testing:
Either:
make test
to perform a simple smoke test; ormake vm
to create the Vagrant virtual machine and install Node.js.
I use the latter for my own testing.
Usage:
apt-get update
if you have a fresh Ubuntu install, just in casecd /etc/puppet/modules
git clone git://github.com/garthk/puppet-chrislea
ln -s puppet-chrislea chris
- Use
chris::lea::nodejs
and other classes as below - Use
chris::lea::repo
to define your own classes as below
Installing Node.js:
In your node
definition, or whichever class
it's including:
include chris::lea::nodejs
So far, I've only defined these two classes:
chris::lea::nodejs
chris::lea::zeromq
Installing Other Packages:
To add a package from a repository for which I haven't made a class:
- Use
chris::lea::repo
to add the repositories - Declare your
package
- Use the right
$name
between the curly bracket and the colon: this will be the argument toapt-get install
require
the repositories you just added
Example:
class zeromq_development {
chris::lea::repo { 'libpgm': }
chris::lea::repo { 'zeromq': }
package { 'libzmq-dev':
ensure => installed,
require => [
Chris::Lea::Repo['libpgm'],
Chris::Lea::Repo['zeromq'],
],
}
}
To find out which repositories you need:
- Visit the archive page, e.g. zeromq
- Click "Technical details about this PPA"
- Look under the title "Dependencies"
Adjustments from original:
- Fixed operation on Ubuntu with
sources.list.d
in/etc/apt
- Fixed operation on Ubuntu with current
add-apt-repository
entry filenames - Broke out definition for repository
- Set
timeout=3600
forapt-get update
, which can be slow - Avoided
apt-get update
if it's been done once sinceadd-apt-repository
- Added
g++
,libexpat1-dev
tonodejs
- Broke out
zeromq
to its own class - Packaged it all as a Puppet module
- Added Vagrantfile and Makefile