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, transactions, software transactional memory, high-level query builders and lease management, watchers, mocking, and is type-safe for TypeScript consumers.
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());
Our TypeDoc docs are available here.
Our test cases are also quite readable.
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
.