Project Receptor is a flexible multi-service relayer with remote execution and orchestration capabilities linking controllers with executors across a mesh of nodes.
Other
32
stars
21
forks
source link
[WIP] Add Unix control socket and remove ephemeral nodes #223
Add a Unix domain socket server that runs in the context of a node.
Change the one-shot CLI operations (ping, send, status) to be socket clients instead of Receptor nodes.
Do away with the concept of ephemeral nodes; all nodes are assumed to be long-lived and none are reaped.
Add reply traffic routing to the controller class instead of expecting users to do it in their implementation. This does away with the recv method and replaces it with a callback.
Change the default port numbers for rnp to 7323, rnps to 7324, and the Prometheus status to 7325. This is simply to put the default services on a less commonly-used port number than 8888.
Remove the go method from the ReceptorConfig object and instead have it pass back the name of the selected entrypoint. This allows the config module not to import entrypoints and thereby avoids a circular import through controller.
Restructures the CLI to reflect the new reality. --node-id and --data-dir are now properties of node rather than default. Also changes --server_disable to --no-listener to better reflect what the option actually does.
This pull request does a number of things:
recv
method and replaces it with a callback.go
method from theReceptorConfig
object and instead have it pass back the name of the selected entrypoint. This allows theconfig
module not to importentrypoints
and thereby avoids a circular import throughcontroller
.--node-id
and--data-dir
are now properties ofnode
rather thandefault
. Also changes--server_disable
to--no-listener
to better reflect what the option actually does.See https://github.com/project-receptor/receptor/issues/208