Some time ago, I looked at the possibility of building a Raft based system using the Consul codebase as a library - similar to the way in which Consul itself includes Serf code.
The primary benefit would be avoiding another set of server processes/containers/pods.
So instead of running our own processes that then accessed an additional set of Consul processes via Rest API for Raft, K/V, service discovery, etc; we would just run a single set of our own processes, and they would access the consul services internally as a Go library.
Can anyone comment on whether this is still a reasonable approach, and if not - then what are the benefits of keeping the code separate, and using the Consul ReST API.
Thank you all for your thoughts and advice.