etcd3 is a high-quality, production-ready client for the Protocol Buffer-based etcd v3 API. It includes:
- load balancing
- fault handling and reconnections
- transactions
- software transactional memory
- high-level query builders
- lease management
- watchers
- user and rolemocking management
- elections
and is type-safe for TypeScript consumers.
Install via:
npm install --save etcd3
Start building!
const{ Etcd3 }=require('etcd3');constclient=newEtcd3();(async()=>{awaitclient.put('foo').value('bar');constfooValue=awaitclient.get('foo').string();console.log('foo was:',fooValue);constallFValues=awaitclient.getAll().prefix('f').keys();console.log('all our keys starting with "f":',allFValues);awaitclient.delete().all();})();Our TypeDoc docs are available here.
Our test cases are also readable.
$ npm install
$ cd src/test/containers/3.2 && docker-compose up # in a separate shell
$ npm test
$ docker-compose downRunning 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.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.