Skip to main content

Federation

Federation allows independent systems to communicate using a common standard to exchange data while maintaining their own autonomy. In the Paranet ecosystem, data is shared without requiring a centralized authority or a single point of failure, ensuring that your infrastructure remains distributed and resilient.


Federation & The Paranet​

Federation is a core pillar of the Paranet. Think of it as a digital handshake between sovereign entities—allowing them to collaborate on complex or sensitive workflows without surrendering control of their internal data.

Trust and the Otonoma Certificate​

To federate with other nodes in a production environment, each node must possess an Otonoma Certificate. This certificate-based trust allows our distributed-first network to maintain:

  • Data Integrity: Guarantees that the information exchanged hasn't been tampered with.
  • Privacy: Encrypts communication channels between federated peers.
  • Autonomy: Enables independent systems to collaborate while remaining sovereign entities.

Important: Federation in production environments is strictly enforced via Otonoma Certificates. Ensure your node's identity is verified before attempting to establish a link.


CLI Reference: para docker federate​

The para docker federate command is used to establish a link between nodes within a Docker-based environment.

Usage​

para docker federate [OPTIONS] 

Example​

para docker federate --from painter --to red --bidirectional

Node Requirements​

Federation between two nodes allows skill requests from one node to the other. The communication happens at the node level. Currently, all exported skill sets in a federated node are shared and accessible on the other node. In the future, our tooling will enable more fine-grained control on which skills are shared between nodes.

Directionality​

Two federated nodes communicate over grpc. The --from node connects to the --to node, with the --to node acting as a server and the --from node acting as a client. By default, only the --to node replicates its skill definitions to the --from node, and not the other way around. This means that skill requests can flow from the --from node to the --to node, and responses can flow back, but skill requests cannot be initated to go the other direction. If you need skills to be replicated both ways you can use the --bidirectional flag.

If new skills are added to a node which is federating its skills, they are automatically propagated to the federated nodes.