Node System Documentation
The Node System is a crucial component of our platform that handles the execution of tools and workflows in a distributed environment. This documentation explains how nodes work.
Node Architecture
Components
- Decentralizer: Manages node distribution and load balancing
- Renter: Handles tool execution and resource management
Node Setup
Requirements
- Docker runtime environment
- Network connectivity
- Required system resources
- Security certificates
Installation
# Install node dependencies
pnpm install
# Start the node
node renter-node.jsThen you'll be prompted to login and chose the renting hardware based on how much you have of CPU cores and RAM.
Tool Execution
Execution Flow
- The server checks for available nodes. Each available node keeps sending heartbeats every 2 minutes, if a node doesn't send a heart beat for more than 5 minutes it's marked as inactive.
- If there are enough nodes for a workflow to run, each tool is sent to a node for it to run.
- Once every node has run the container associated correctly, the users gets back a single url that handles the connection between them.
- You can send a request to that url and recieve responses normally.
- If no nodes are available, the tools are run on another public server.
Security
Node Security
- SSL/TLS encryption
- Authentication mechanisms
- Access control
- One time tokens to prevent reusage of keys