lunatic-solutions / lunatic

Lunatic is an Erlang-inspired runtime for WebAssembly
https://lunatic.solutions
Apache License 2.0
4.65k stars 136 forks source link

Privileged and Unprivileged Nodes #211

Closed teskeras closed 1 year ago

kosticmarin commented 1 year ago

This PR adds definitions of "privileged" and "unprivileged" nodes.

Privileged nodes can process distributed messages from any environment, while unprivileged nodes on registration receive a list of allowed environments. Any message that an unprivileged node process and which comes from an environment to which the node does not have access will result in an error.

By default control servers implementations, provided in this repository (see crates lunatic-control-axum and lunatic-control-submilliseconds), register only privileged nodes with no limitations.