Skip to content

A local cache of objects that auto-updates from etcd wait listeners

Notifications You must be signed in to change notification settings

binocarlos/etcd-live-collection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

etcd-live-collection

A local cache of objects that auto-updates from etcd wait listeners

install

$ npm install etcd-live-collection

usage

Create a collection based on an etcd key - the collection will automatically keep in sync.

var liveCollection = require('etcd-live-collection')
var etcdjs = require('etcdjs')

var etcd = etcdjs('127.0.0.1:4001')
var collection = liveCollection(etcd, '/my/key')

// once the collection has initialized with values
collection.on('ready', function(map){
	// map is a flat object with etcd keys and values
	console.dir(collection.values())
})

// the collection has changed somehow
collection.on('action', function(action, key, value){

})

api

var collection = liveCollection(etcdConnection, key)

Create a new collection - etcdConnection can be a connection string or an existing etcdjs object

key is the base key for values to be saved.

If the base key is /apples and you add a /green key to the collection then the etcd key will be /apples/green

var map = collection.values()

Return all the current values in the collection

Map is a flat object of keys onto values:

{
	"/apples/green":10,
	"/oranges":12
}

events

collection.on('ready', function(){})

called once when the collection is up and running and has the current values loaded

collection.on('action', function(action, key, value){})

Called when a change has happened to a value in the collection.

license

MIT

About

A local cache of objects that auto-updates from etcd wait listeners

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published