Revolution1 / etcd3-py

Pure python client for etcd v3 (Using gRPC-JSON-Gateway)
Other
105 stars 25 forks source link

Are you aware of https://github.com/dims/etcd3-gateway ? #112

Open nelljerram opened 5 years ago

nelljerram commented 5 years ago

How would you say etcd3-py compares against etcd3-gateway? Could you work together instead of apparently duplicating effort?

issue-label-bot[bot] commented 5 years ago

Issue-Label Bot is automatically applying the label question to this issue, with a confidence of 0.84. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

Revolution1 commented 5 years ago

this repo supports python2 and python3 with asyncio

and stateful utils with human friendly api

nelljerram commented 5 years ago

Thanks. I think etcd3-gateway also supports python2 and python3, but maybe not asyncio.

Revolution1 commented 5 years ago

yeah, it does support python2

heitorPB commented 2 years ago

etcd3-gateway does not support user/pass authentication. We are replacing with etcd3-py

nelljerram commented 2 years ago

FWIW, we implemented user/pass authentication by subclassing the Etcd3Client class, as you can see here: https://github.com/projectcalico/calico/blob/master/networking-calico/networking_calico/etcdv3.py#L388-L472

heitorPB commented 2 years ago

@neiljerram that is a simple solution, I liked it. Is there a reason it was not upstreamed?

nelljerram commented 2 years ago

@heitorPB Ah, good question!

I don't recall thinking about this carefully at the time, but I guess the thought in my mind was that the solution might not work for all possible uses of Etcd3Client. As the commenting says, I was comfortable that it works in all the cases that Calico (my project) needs - but it's possible that there are other cases not covered.

Nevertheless, I think it's right to try upstreaming, and then the discussion can discuss that - so will plan to do this shortly.

heitorPB commented 2 years ago

I'd be happy to help you if you need! I created an issue on their bugtracker with this request: https://bugs.launchpad.net/python-etcd3gw/+bug/1970750