Giter Site home page Giter Site logo

puppet-chrislea's Introduction

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; or
  • make 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 case
  • cd /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 to apt-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 for apt-get update, which can be slow
  • Avoided apt-get update if it's been done once since add-apt-repository
  • Added g++, libexpat1-dev to nodejs
  • Broke out zeromq to its own class
  • Packaged it all as a Puppet module
  • Added Vagrantfile and Makefile

puppet-chrislea's People

Contributors

garthk avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.