-
Notifications
You must be signed in to change notification settings - Fork 9.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make etcdmain/serve.go public and more modular #5430
Comments
It would be interesting... But we do not have bandwidth to do this now. If you have any thoughts or plan about how to do it. We are happy to listen! |
@xiang90 I will try and write the patch assuming you like the idea. If there are any gotchas or issues you foresee I'd appreciate if you could warn me. Thanks! |
Start() should probably have several stages, like read user conf -> optional discovery -> prepare etcd server conf -> start http/grpc server -> start etcd server. etc.. One thing we want to do is to move all discovery related logic into one func. Ideally, user can do Discovery(), which hints the user about how to start the server and where are other peers. There is some discovery logic here inside etcdserver pkg:https://github.com/coreos/etcd/blob/master/etcdserver/server.go#L301 that should be moved to etcdmain. |
I've taken a first crack at this in: #5432 I tested this on v.3.0.0-beta.0, but rebased it to git master to share. Please let me know if anything particular or behaviour wise would have changed since then that would affect this. Thanks! |
bump this to 3.1 |
It's probably worth mentioning that #5584 is my recent update to this. |
Other potential users of an improved embedded etcd users: |
Lets programs embed etcd. Fixes etcd-io#5430
Lets programs embed etcd. Fixes etcd-io#5430
Lets programs embed etcd. Fixes etcd-io#5430
Lets programs embed etcd. Fixes etcd-io#5430
Lets programs embed etcd. Fixes etcd-io#5430
Lets programs embed etcd. Fixes etcd-io#5430
Lets programs embed etcd. Fixes etcd-io#5430
Lets programs embed etcd. Fixes etcd-io#5430
I'd like to discuss making etcdmain/serve.go structs and methods public and more modular for easier use by third parties that are embedded the etcd server. This might also involve refactoring / changing part of startEtcd(). I'm willing to take a crack at the patch if it's something that the project maintainers would be interested in having.
Let me know, thanks!
The text was updated successfully, but these errors were encountered: