From 0d189c661ae2148a94ebde6fe0ccd442c85cfe79 Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Mon, 6 Aug 2018 09:21:47 -0700 Subject: [PATCH] docs: add "Client Feature Matrix" Signed-off-by: Gyuho Lee --- docs/client-feature-matrix.rst | 281 +++++++++++++++++++++++++++++++++ docs/index.rst | 7 + 2 files changed, 288 insertions(+) create mode 100644 docs/client-feature-matrix.rst diff --git a/docs/client-feature-matrix.rst b/docs/client-feature-matrix.rst new file mode 100644 index 000000000..d990d18cc --- /dev/null +++ b/docs/client-feature-matrix.rst @@ -0,0 +1,281 @@ +.. _client-feature-matrix: + + +Client Feature Matrix +##################### + + +Features +======== + ++----------------------------------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++========================================+=========================+===================+ +| Automatic retry | Yes | · | ++----------------------------------------+-------------------------+-------------------+ +| Retry backoff | Yes | · | ++----------------------------------------+-------------------------+-------------------+ +| Automatic failover | Yes | · | ++----------------------------------------+-------------------------+-------------------+ +| Load balancer | Round-Robin | · | ++----------------------------------------+-------------------------+-------------------+ +| ``WithRequireLeader(context.Context)`` | Yes | · | ++----------------------------------------+-------------------------+-------------------+ +| ``TLS`` | Yes | Yes | ++----------------------------------------+-------------------------+-------------------+ +| ``SetEndpoints`` | Yes | · | ++----------------------------------------+-------------------------+-------------------+ +| ``Sync`` endpoints | Yes | · | ++----------------------------------------+-------------------------+-------------------+ +| ``AutoSyncInterval`` | Yes | · | ++----------------------------------------+-------------------------+-------------------+ +| ``KeepAlive`` ping | Yes | · | ++----------------------------------------+-------------------------+-------------------+ +| ``MaxCallSendMsgSize`` | Yes | · | ++----------------------------------------+-------------------------+-------------------+ +| ``MaxCallRecvMsgSize`` | Yes | · | ++----------------------------------------+-------------------------+-------------------+ +| ``RejectOldCluster`` | Yes | · | ++----------------------------------------+-------------------------+-------------------+ + + +`KV `_ +============================================================ + ++---------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++===============+=========================+===================+ +| ``Put`` | Yes | · | ++---------------+-------------------------+-------------------+ +| ``Get`` | Yes | · | ++---------------+-------------------------+-------------------+ +| ``Delete`` | Yes | · | ++---------------+-------------------------+-------------------+ +| ``Compact`` | Yes | · | ++---------------+-------------------------+-------------------+ +| ``Do(Op)`` | Yes | · | ++---------------+-------------------------+-------------------+ +| ``Txn`` | Yes | · | ++---------------+-------------------------+-------------------+ + + +`Lease `_ +================================================================== + ++-------------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++===================+=========================+===================+ +| ``Grant`` | Yes | · | ++-------------------+-------------------------+-------------------+ +| ``Revoke`` | Yes | · | ++-------------------+-------------------------+-------------------+ +| ``TimeToLive`` | Yes | · | ++-------------------+-------------------------+-------------------+ +| ``Leases`` | Yes | · | ++-------------------+-------------------------+-------------------+ +| ``KeepAlive`` | Yes | · | ++-------------------+-------------------------+-------------------+ +| ``KeepAliveOnce`` | Yes | · | ++-------------------+-------------------------+-------------------+ + + +`Watcher `_ +====================================================================== + ++---------------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++=====================+=========================+===================+ +| ``Watch`` | Yes | Yes | ++---------------------+-------------------------+-------------------+ +| ``RequestProgress`` | Yes | · | ++---------------------+-------------------------+-------------------+ + + +`Cluster `_ +====================================================================== + ++------------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++==================+=========================+===================+ +| ``MemberList`` | Yes | Yes | ++------------------+-------------------------+-------------------+ +| ``MemberAdd`` | Yes | Yes | ++------------------+-------------------------+-------------------+ +| ``MemberRemove`` | Yes | Yes | ++------------------+-------------------------+-------------------+ +| ``MemberUpdate`` | Yes | Yes | ++------------------+-------------------------+-------------------+ + + +`Maintenance `_ +============================================================================== + ++-----------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++=================+=========================+===================+ +| ``AlarmList`` | Yes | Yes | ++-----------------+-------------------------+-------------------+ +| ``AlarmDisarm`` | Yes | · | ++-----------------+-------------------------+-------------------+ +| ``Defragment`` | Yes | · | ++-----------------+-------------------------+-------------------+ +| ``Status`` | Yes | · | ++-----------------+-------------------------+-------------------+ +| ``HashKV`` | Yes | · | ++-----------------+-------------------------+-------------------+ +| ``Snapshot`` | Yes | · | ++-----------------+-------------------------+-------------------+ +| ``MoveLeader`` | Yes | · | ++-----------------+-------------------------+-------------------+ + + +`Auth `_ +================================================================ + ++----------------------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++============================+=========================+===================+ +| ``AuthEnable`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``AuthDisable`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``UserAdd`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``UserDelete`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``UserChangePassword`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``UserGrantRole`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``UserGet`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``UserList`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``UserRevokeRole`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``RoleAdd`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``RoleGrantPermission`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``RoleGet`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``RoleList`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``RoleRevokePermission`` | Yes | · | ++----------------------------+-------------------------+-------------------+ +| ``RoleDelete`` | Yes | · | ++----------------------------+-------------------------+-------------------+ + + +`clientv3util `_ +================================================================================ + ++---------------------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++===========================+=========================+===================+ +| ``KeyExists`` | Yes | No | ++---------------------------+-------------------------+-------------------+ +| ``KeyMissing`` | Yes | No | ++---------------------------+-------------------------+-------------------+ + + +`concurrency `_ +============================================================================== + ++----------------------------------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++========================================+=========================+===================+ +| ``Session`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``NewMutex(Session, prefix)`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``NewElection(Session, prefix)`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``NewLocker(Session, prefix)`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``STM Isolation SerializableSnapshot`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``STM Isolation Serializable`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``STM Isolation RepeatableReads`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``STM Isolation ReadCommitted`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``STM Get`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``STM Put`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``STM Rev`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ +| ``STM Del`` | Yes | No | ++----------------------------------------+-------------------------+-------------------+ + + +`leasing `_ +====================================================================== + ++---------------------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++===========================+=========================+===================+ +| ``NewKV(Client, prefix)`` | Yes | No | ++---------------------------+-------------------------+-------------------+ + + +`mirror `_ +====================================================================== + ++------------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++==================+=========================+===================+ +| ``SyncBase`` | Yes | No | ++------------------+-------------------------+-------------------+ +| ``SyncUpdates`` | Yes | No | ++------------------+-------------------------+-------------------+ + + +`namespace `_ +========================================================================== + ++-------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++=============+=========================+===================+ +| ``KV`` | Yes | No | ++-------------+-------------------------+-------------------+ +| ``Lease`` | Yes | No | ++-------------+-------------------------+-------------------+ +| ``Watcher`` | Yes | No | ++-------------+-------------------------+-------------------+ + + +`naming `_ +==================================================================== + ++--------------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++====================+=========================+===================+ +| ``GRPCResolver`` | Yes | No | ++--------------------+-------------------------+-------------------+ + + +`ordering `_ +======================================================================== + ++----------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++==========+=========================+===================+ +| ``KV`` | Yes | No | ++----------+-------------------------+-------------------+ + + +`snapshot `_ +======================================================================== + ++-------------+-------------------------+-------------------+ +| Feature | ``clientv3-grpc1.14`` | ``jetcd v0.0.2`` | ++=============+=========================+===================+ +| ``Save`` | Yes | No | ++-------------+-------------------------+-------------------+ +| ``Status`` | Yes | No | ++-------------+-------------------------+-------------------+ +| ``Restore`` | Yes | No | ++-------------+-------------------------+-------------------+ diff --git a/docs/index.rst b/docs/index.rst index f2a14f6ca..e476e1ffa 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -9,6 +9,7 @@ Still working in progress... * :ref:`set-up`: setting up an etcd cluster. * :ref:`monitor`: monitoring an etcd cluster. * :ref:`client-architecture`: describes etcd client components. +* :ref:`client-feature-matrix`: compares client features. .. toctree:: :maxdepth: 3 @@ -39,3 +40,9 @@ Still working in progress... :caption: Architecture client-architecture + +.. toctree:: + :maxdepth: 2 + :caption: Reference + + client-feature-matrix