etcd/Documentation/clients-matrix.md
Giuseppe Lavagetto e9b85264ab docs(clients-matrix.md): Introducing the library features matrix.
As support for etcd features is very uneven between different clients,
a feature matrix can help application developers to understand what a
client library can offer them, and also help client libraries
developers to understand what they should work on. I assessed the
features of all client libraries by looking at their master branch on
github, to the best of my knowledge.
2014-01-05 11:30:11 +01:00

2.5 KiB

Client libraries support matrix for etcd

As etcd features support is really uneven between client libraries, a compatibility matrix can be important. We will consider in detail only the features of clients supporting the v2 API. Clients still supporting the v1 API only are listed below.

v1-only clients

Clients supporting only the API version 1

v2 clients

The v2 API has a lot of features, we will categorize them in a few categories:

  • HTTPS Auth: Support for SSL-certificate based authentication
  • Reconnect: If the client is able to reconnect automatically to another server if one fails.
  • Mod/Lock: Support for the locking module
  • Mod/Leader: Support for the leader election module
  • GET,PUT,POST,DEL Features: Support for all the modifiers when calling the etcd server with said HTTP method.

Supported features matrix

Client go-etcd jetcd python-etcd node-etcd nodejs-etcd etcd-ruby etcd-api cetcd clj-etcd
HTTPS Auth Y Y Y Y Y - - - -
Reconnect Y - Y - - - Y - -
Mod/Lock Y - Y - - - - - -
Mod/Leader Y - - - - - - - -
GET Features F B F F F F B F G
PUT Features F B F F F F G F G
POST Features F - F - F F - - -
DEL Features F B F F F F B G B

Legend

F: Full support G: Good support B: Basic support Y: Feature supported -: Feature not supported