Browse Source

docs: add "Client Feature Matrix"

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
Gyuho Lee 7 years ago
parent
commit
0d189c661a
2 changed files with 288 additions and 0 deletions
  1. 281 0
      docs/client-feature-matrix.rst
  2. 7 0
      docs/index.rst

+ 281 - 0
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 <https://godoc.org/github.com/coreos/etcd/clientv3#KV>`_
+============================================================
+
++---------------+-------------------------+-------------------+
+| Feature       | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++===============+=========================+===================+
+| ``Put``       | Yes                     | ·                 |
++---------------+-------------------------+-------------------+
+| ``Get``       | Yes                     | ·                 |
++---------------+-------------------------+-------------------+
+| ``Delete``    | Yes                     | ·                 |
++---------------+-------------------------+-------------------+
+| ``Compact``   | Yes                     | ·                 |
++---------------+-------------------------+-------------------+
+| ``Do(Op)``    | Yes                     | ·                 |
++---------------+-------------------------+-------------------+
+| ``Txn``       | Yes                     | ·                 |
++---------------+-------------------------+-------------------+
+
+
+`Lease <https://godoc.org/github.com/coreos/etcd/clientv3#Lease>`_
+==================================================================
+
++-------------------+-------------------------+-------------------+
+| Feature           | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++===================+=========================+===================+
+| ``Grant``         | Yes                     | ·                 |
++-------------------+-------------------------+-------------------+
+| ``Revoke``        | Yes                     | ·                 |
++-------------------+-------------------------+-------------------+
+| ``TimeToLive``    | Yes                     | ·                 |
++-------------------+-------------------------+-------------------+
+| ``Leases``        | Yes                     | ·                 |
++-------------------+-------------------------+-------------------+
+| ``KeepAlive``     | Yes                     | ·                 |
++-------------------+-------------------------+-------------------+
+| ``KeepAliveOnce`` | Yes                     | ·                 |
++-------------------+-------------------------+-------------------+
+
+
+`Watcher <https://godoc.org/github.com/coreos/etcd/clientv3#Watcher>`_
+======================================================================
+
++---------------------+-------------------------+-------------------+
+| Feature             | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++=====================+=========================+===================+
+| ``Watch``           | Yes                     | Yes               |
++---------------------+-------------------------+-------------------+
+| ``RequestProgress`` | Yes                     | ·                 |
++---------------------+-------------------------+-------------------+
+
+
+`Cluster <https://godoc.org/github.com/coreos/etcd/clientv3#Cluster>`_
+======================================================================
+
++------------------+-------------------------+-------------------+
+| Feature          | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++==================+=========================+===================+
+| ``MemberList``   | Yes                     | Yes               |
++------------------+-------------------------+-------------------+
+| ``MemberAdd``    | Yes                     | Yes               |
++------------------+-------------------------+-------------------+
+| ``MemberRemove`` | Yes                     | Yes               |
++------------------+-------------------------+-------------------+
+| ``MemberUpdate`` | Yes                     | Yes               |
++------------------+-------------------------+-------------------+
+
+
+`Maintenance <https://godoc.org/github.com/coreos/etcd/clientv3#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 <https://godoc.org/github.com/coreos/etcd/clientv3#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 <https://godoc.org/github.com/coreos/etcd/clientv3/clientv3util>`_
+================================================================================
+
++---------------------------+-------------------------+-------------------+
+| Feature                   | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++===========================+=========================+===================+
+| ``KeyExists``             | Yes                     | No                |
++---------------------------+-------------------------+-------------------+
+| ``KeyMissing``            | Yes                     | No                |
++---------------------------+-------------------------+-------------------+
+
+
+`concurrency <https://godoc.org/github.com/coreos/etcd/clientv3/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 <https://godoc.org/github.com/coreos/etcd/clientv3/leasing>`_
+======================================================================
+
++---------------------------+-------------------------+-------------------+
+| Feature                   | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++===========================+=========================+===================+
+| ``NewKV(Client, prefix)`` | Yes                     | No                |
++---------------------------+-------------------------+-------------------+
+
+
+`mirror <https://godoc.org/github.com/coreos/etcd/clientv3/mirror>`_
+======================================================================
+
++------------------+-------------------------+-------------------+
+| Feature          | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++==================+=========================+===================+
+| ``SyncBase``     | Yes                     | No                |
++------------------+-------------------------+-------------------+
+| ``SyncUpdates``  | Yes                     | No                |
++------------------+-------------------------+-------------------+
+
+
+`namespace <https://godoc.org/github.com/coreos/etcd/clientv3/namespace>`_
+==========================================================================
+
++-------------+-------------------------+-------------------+
+| Feature     | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++=============+=========================+===================+
+| ``KV``      | Yes                     | No                |
++-------------+-------------------------+-------------------+
+| ``Lease``   | Yes                     | No                |
++-------------+-------------------------+-------------------+
+| ``Watcher`` | Yes                     | No                |
++-------------+-------------------------+-------------------+
+
+
+`naming <https://godoc.org/github.com/coreos/etcd/clientv3/naming>`_
+====================================================================
+
++--------------------+-------------------------+-------------------+
+| Feature            | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++====================+=========================+===================+
+| ``GRPCResolver``   | Yes                     | No                |
++--------------------+-------------------------+-------------------+
+
+
+`ordering <https://godoc.org/github.com/coreos/etcd/clientv3/ordering>`_
+========================================================================
+
++----------+-------------------------+-------------------+
+| Feature  | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++==========+=========================+===================+
+| ``KV``   | Yes                     | No                |
++----------+-------------------------+-------------------+
+
+
+`snapshot <https://godoc.org/github.com/coreos/etcd/clientv3/snapshot>`_
+========================================================================
+
++-------------+-------------------------+-------------------+
+| Feature     | ``clientv3-grpc1.14``   | ``jetcd v0.0.2``  |
++=============+=========================+===================+
+| ``Save``    | Yes                     | No                |
++-------------+-------------------------+-------------------+
+| ``Status``  | Yes                     | No                |
++-------------+-------------------------+-------------------+
+| ``Restore`` | Yes                     | No                |
++-------------+-------------------------+-------------------+

+ 7 - 0
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