node package manager


An orchestration tool powered by conservatory


Flawless orchestration of your cloud infrastructure: baton is an orchestration tool with a focus on automation and infrastructure opacity.

baton is a robust and fully-featured orchestration toolset with a simple convention for executing commands:

  $ baton <resource> <command>

for example:

  $ baton groups list

will list all group Resources in your current cloud setup. The tool itself is designed to be self documenting via the baton help command. For example to learn what the groups list command does:

  $ baton help groups list
  info:   Welcome to baton
  info:   It worked if it ends with baton ok
  info:   Executing command help groups list
  help:   Lists all groups managed by conservatory.
  help:   baton groups list
  help:   baton groups list <provider>
  baton ok
  $ [sudo] npm install baton -g --registry --user-config YOUR-PRIVATE-NPM-CONFIG

For testing purposes it is possible to run baton locally if you have conservatory running locally with sample data:

  • Start conservatory locally with sample data
  $ cd /path/to/conservatory
  $ bin/seed
  $ bin/provisioner
  • Login to baton with the sample user: devjitsu / 1234
  $ cd /path/to/baton
  $ baton config set remoteHost localhost
  $ baton config set port 9003
  $ baton login
  info:    Welcome to baton
  info:    It worked if it ends with baton ok
  info:    Executing command login
  prompt: username: devjitsu 
  prompt: password: 1234 
  info:    Authenticated as devjitsu
  info:    baton ok

All tests are written with vows and intended to be run with npm:

  $ npm test

Author: Nodejitsu Inc

Contributors: Charlie Robbins