Home

Awesome

level-sandbox

A sandbox for hosting leveldbs.

build status

Installation

$ npm install -g level-sandbox

Usage

Start a sandbox server:

$ level-sandbox --port 4646 --auth foobar

Connect to it from JS:

var net = require('net');
var multilevel = require('multilevel');

var db = multilevel.client();

var con = net.connect(4646);
con.pipe(db.createRpcStream()).pipe(con);

db.auth('foobar', function(err){
  db.put('foo', 'bar', function(err){
    db.get('foo', function(err, value){
      console.log('foo: %s', value);
    });
  });
});

API


  Usage: sandbox.js [options] [path]
  
  Options:
  
    -h, --help          output usage information
    -V, --version       output the version number
    -p, --port <n>      port to listen on ("random" for random)
    -a, --auth <auth>   authorization
    -l, --log <events>  log events to stdio

Password prompt

Set auth to the special value prompt to be asked for credentials, so they don't show up in your terminal.

$ level-sandbox --auth prompt
auth: ********

Logging

Those log events are available:

Get one or more of them on stdio:

$ level-sandbox --log tcp
$ level-sandbox --log auth,access

Or get all:

$ level-sandbox --log all

Deploying

Use a tool like upstart or forever to make sure the process keeps running. Crashes are highly unlikely but might be caused by memory leaks or other kinds of bugs somewhere in the stack.

TODO

License

MIT