nconf-etcd2

1.4.0 • Public • Published

nconf-etcd2 Build Status

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'); // tries to attach to the nconf instance
 
nconf.use('etcd', { /* options */ });
nconf.load(console.log);

Support For Syncronous Methods

var nconf = require('nconf');
var Etcd  = require('nconf-etcd2'); // tries to attach to the nconf instance
 
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(); // Saved to etc!

Nest Namespaces

var nconf = require('nconf');
var Etcd  = require('nconf-etcd2'); // tries to attach to the nconf instance
 
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(); // Saved to etc!

Custom Separators

 
var nconf = require('nconf');
var Etcd  = require('nconf-etcd2'); // tries to attach to the nconf instance
 
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(); // Saved to etc!

Readme

Keywords

Package Sidebar

Install

npm i nconf-etcd2

Weekly Downloads

65

Version

1.4.0

License

MIT

Unpacked Size

16.1 kB

Total Files

7

Last publish

Collaborators

  • codedependant
  • esatterwhite