maru
System configuration management framework (WIP) written with node.
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