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.