nconf-etcd2
An nconf backend store for Etcd2
npm install nconf nconf-etcd2 --save
An ETCD2 backend for nconf
var Store = require('nconf-etcd2')
var s = new Store({namespace:'test'});
var assert = require('assert')
s.load(function(err,data){
assert.equal( err, null )
s.set('a:b:c:d',2);
s.save(function( err ){
s.store = {};
s.load( function(e,d){
assert.equal( 2,~~s.get('a:b:c:d') );
done();
});
});
});
Usage with nconf
var nconf = require('nconf');
var Etcd = require('nconf-etcd2');
nconf.use('etcd', { });
nconf.load(console.log);
Support For Syncronous Methods
var nconf = require('nconf');
var Etcd = require('nconf-etcd2');
nconf.use('etcd', { namespace:'test', hosts:['192.168.0.1:4001', '10.50.5.1:4001']});
nconf.load();
nconf.set( 'a:b:c', 1);
nconf.save();
Nest Namespaces
var nconf = require('nconf');
var Etcd = require('nconf-etcd2');
nconf.use('etcd', { namespace:'test:foo', hosts:['192.168.0.1:4001', '10.50.5.1:4001']});
nconf.load();
nconf.get( 'a:b:c');
nconf.save();
Custom Separators
var nconf = require('nconf');
var Etcd = require('nconf-etcd2');
nconf.use('etcd', { namespace:'test-nested', logicalSeparator:'-' hosts:['192.168.0.1:4001', '10.50.5.1:4001']});
nconf.load();
nconf.set( 'a-b-c', 1);
nconf.save();