chrislea
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