edgeless-project / edgeless

MVP Implementation
Other
14 stars 0 forks source link

Enable node execution with NAT #134

Closed ccicconetti closed 5 months ago

ccicconetti commented 5 months ago

Currently, the node configuration contains two URLs, agent_url and invocation_url, which are used to create a listening gRPC server on the node and then announced to the ε-ORC.

If the node is behind a NAT then it is necessary that the node binds to one address (e.g., localhost) but then advertises another address, possibly with a different port, as well.

How to fix: add two configuration fields (e.g., agent_url_announced, invocation_url_announce) to distinguish between what is used to bind vs. what is announced.

For convenience, the two fields can be empty by default, in which case the URL-for-bind is the same as that announced.

This change does not affect the APIs or other components, including the ε-ORC.