πŸ”– Node.js client for etcd3
ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ
Connor Peet 898cfdf7ed Address PR comments 2017-06-21 21:16:16 -07:00
bin Add watcher to changelog, prettier setup, RPC typings 2017-06-18 09:38:51 -07:00
docs Add changelog, regenerate typedocs 2017-06-03 09:39:28 -07:00
proto Address PR comments, change enum casing to UpperCamel 2017-06-03 09:22:36 -07:00
src Address PR comments 2017-06-21 21:16:16 -07:00
test Split out tests into separate files, add watcher tests and simulate degradations in leases 2017-06-18 09:41:24 -07:00
.editorconfig init 2017-04-09 22:25:42 -07:00
.gitignore Add docs and some examples 2017-04-14 14:51:06 -07:00
.npmignore Fix files being incorrectly npmignored 2017-04-13 14:52:49 -07:00
.travis.yml Initial working version of password auth 2017-06-02 08:49:38 -07:00
LICENSE Initial working version of password auth 2017-06-02 08:49:38 -07:00
changelog.md Add watcher to changelog, prettier setup, RPC typings 2017-06-18 09:38:51 -07:00
client.patch.js Add client patch pending fixes in https://github.com/grpc/grpc/issues/11514 2017-06-18 09:40:10 -07:00
client.patch.txt Add client patch pending fixes in https://github.com/grpc/grpc/issues/11514 2017-06-18 09:40:10 -07:00
package.json Add watcher to changelog, prettier setup, RPC typings 2017-06-18 09:38:51 -07:00
readme.md Update WatchBeam => mixer 2017-06-03 09:26:50 -07:00
tsconfig.json Stronger GRPC typings, tests and start of auth finalizations 2017-06-02 23:38:34 -07:00
tslint.json Add watcher to changelog, prettier setup, RPC typings 2017-06-18 09:38:51 -07:00

readme.md

etcd3 Build Status

etcd3 aims to be (with its first stable release) a high-quality, production-ready client for the Protocol Buffer-based etcdv3 API. It includes load balancing, reconnections, high-level query builders and lease management, mocking, and is type-safe for TypeScript consumers.

Quickstart

Install via:

npm install --save etcd3

Start CRUD-ing!

const { Etcd3 } = require('etcd3');
const client = new Etcd3();

client.put('foo').value('bar')
  .then(() => client.get('foo').string())
  .then(value => console.log('foo was:', value))
  .then(() => client.getAll().prefix('f').strings())
  .then(keys => console.log('all our keys starting with "f":', keys))
  .then(() => client.delete().all());

API Documentation

Our TypeDoc docs are available here.

Our test cases are also quite readable.

Contributing

Running tests for this module requires running an etcd3 server locally. The tests try to use the default port initially, and you can configure this by setting the ETCD_ADDR environment variable, like export ETCD_ADDR=localhost:12345.