Skip to content

bloglovin/bletcd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bletcd - The Bloglovin' etcd client

Bletcd is a minimalistic etcd client with convenient functionality for watching for changes.

Usage

var client = bletcd({
  url: 'http://127.0.0.1:4001',
});

var watcher = client.watcher('test/other-key');
watcher.on('error', function(err) {
  console.error('Watch error:', err);
  watcher.stop();
});
watcher.on('change', function(op) {
  console.log('Notified of change:', op);
});

client.put('test/other-key', 'a-value', function(err, response) {
  if (err) {
    console.error('Failed to write value', err);
    watcher.stop();
    return;
  }
  console.log('Wrote a value to etcd');

  client.get('test/other-key', function(err, response) {
    if (err) {
      console.error('Failed to fetch value', err);
    }
    else {
      console.log('Successfully fetched the key value:', response.node.value);
    }

    client.delete('test/other-key', function(err) {
      if (err) {
        console.error('Failed to delete value:', err);
      }
      else {
        console.log('Successfully deleted value');
      }
      watcher.stop();
    });
  });
});

Output:

Notified of change: { action: 'set',
  node:
   { key: '/test/other-key',
     value: 'a-value',
     modifiedIndex: 537,
     createdIndex: 537 } }
Wrote a value to etcd
Successfully fetched the key value: a-value
Notified of change: { action: 'delete',
  node: { key: '/test/other-key', modifiedIndex: 538, createdIndex: 537 },
  prevNode:
   { key: '/test/other-key',
     value: 'a-value',
     modifiedIndex: 537,
     createdIndex: 537 } }
Successfully deleted value