maru

System configuration management framework

npm install maru
1 downloads in the last week
4 downloads in the last month

maru

System configuration management framework (WIP) written with node.

javascript config management

Installation

$ npm install -g maru

Provisioning

To provision from a script simply pass it to maru(1), by default ~/.maru.js is used.

$ maru examples/github

    install : visionmedia-mon
    install : visionmedia-every
    install : visionmedia-mad
    install : visionmedia-burl
    install : visionmedia-watch
   complete : visionmedia-mad - 1s
   complete : visionmedia-burl - 1s
   complete : visionmedia-watch - 1s
   complete : visionmedia-every - 1s
   complete : visionmedia-mon - 1s

Installing configurations from npm

Maru supports packages straight from npm, for example of you invoke use('curl'), this effectively a short-hand syntax for use(require('maru-curl')()), where maru-curl is published as:

module.exports = function(){
  return {
    name: 'curl',
    which: 'curl',
    install: function(env, fn){
      env.exec('apt-get install curl -y', fn);
    }
  }
};

In your config script:

use('curl')

NOTE: maru assumes that the maru- prefix is always used in the npm name. For a list of available packages visit the wiki Packages page.

Debugging

To enable debug output simply run with the DEBUG env variable set to "maru":

$ DEBUG=maru maru examples/apt

  maru jobs 3 +0ms
  maru use curl +3ms
  maru use git +0ms
  maru use make +0ms
  maru use gm +1ms
  maru use gs +0ms
  maru use ffmpeg +0ms
...

License

MIT

npm loves you