Appearance
MFTPlus Architecture β
Understanding MFTPlus architecture will help you plan your deployment and make the most of its capabilities.
System Components β
Agent (mft-agent-cli) β
The core MFTPlus component. A Rust-based CLI agent that runs on your servers and handles:
- Scheduled and manual file transfers
- Protocol handling (SFTP, FTP, FTPS, local)
- Transfer queue management
- Retry logic with exponential backoff
- Audit logging (SQLite)
- Phone-home registration to dashboard or hub
bash
mft-agent-cli --version
mft-agent-cli runDashboard β
The web-based management interface for:
- Agent registration and monitoring
- Job creation and scheduling
- Transfer history and audit logs
- Credential management
- Usage analytics
The dashboard is the central point of control for all agents in your deployment.
Hub (v0.6.0+, licensed add-on) β
An optional relay component (available on Enterprise tier) that enables:
- Hub-and-spoke topology for distributed deployments
- WebSocket relay for agent-to-hub connectivity (v0.6.1+)
- Centralized agent management across network boundaries
- Secure phone-home registration
The hub sits between agents and the dashboard, relaying traffic when agents cannot connect directly.
Hub-and-Spoke Topology (Licensed Add-On) β
In a hub-and-spoke deployment (v0.6.0+, Enterprise tier):
ββββββββββββ ββββββββββββ ββββββββββββ
β Agent ββββββΆβ ββββββΆβ Dashboard β
β (Spoke) β β Hub β β β
ββββββββββββ β β ββββββββββββ
β Relay β
ββββββββββββ β β ββββββββββββ
β Agent ββββββΆβ ββββββΆβ Agent β
β (Spoke) β ββββββββββββ β (Spoke) β
ββββββββββββ ββββββββββββAgents connect to the hub, which relays instructions and transfer events to and from the dashboard. This allows agents behind NAT or firewalls to participate without direct inbound access.
WebSocket Relay (v0.6.1+) β
The WebSocket relay protocol allows agents to maintain persistent connections to the hub:
- Deploy key authentication in WebSocket headers (v0.6.1)
- Auth cache sync between hub and cloud dashboard (v0.6.1)
- Rate limiting per credential or customer (v0.6.1)
- Security hardening with deploy key rotation and bounded rate limits (v0.6.1)
Transfer Flow β
ββββββββββββ job config ββββββββββββ
β Dashboard ββββββββββββββββββββΆβ Hub β
β βββββββββββββββββββββ β
ββββββββββββ transfer status β Relay β
β β
ββββββββββββ WebSocket β β
β Agent βββββββββββββββββββββΆβ β
β (Spoke) β ββββββββββββ
ββββββββββββ- Configure: Jobs are created in the dashboard
- Dispatch: Job configuration is relayed to the agent via the hub
- Execute: Agent performs the transfer using the configured protocol
- Report: Transfer status and audit logs are sent back through the hub
- Monitor: Dashboard displays real-time status and history
In direct-connect deployments (no hub), agents communicate directly with the dashboard.
Security Model β
Agent Authentication β
- Deploy key authentication for agent-to-hub registration
- Phone-home registration with unique agent IDs
- TLS for all control-plane communication
Data Protection β
- AES-256-GCM encryption for transferred files
- Credentials stored with restrictive permissions (600)
- Certificates managed per-agent in
~/.config/mft-agent/certificates/ - SHA-256 checksums for all transferred files
Audit Logging β
All transfer activity is logged locally in SQLite format at:
- Linux/macOS:
~/.config/mft-agent/transfers.db - Windows:
%APPDATA%\mft-agent\transfers.db
Deployment Patterns β
Direct Connect (Simple) β
Agent ββββ DashboardSingle agent connecting directly to the dashboard. Best for proof-of-concept and small deployments.
Hub-and-Spoke (Distributed) β
Agent ββββ Hub ββββ Dashboard
Agent ββββ Hub ββββ DashboardMultiple agents connecting through a hub. Best for multi-site deployments and agents behind NAT.
Multi-Hub (Enterprise) β
Agent ββββ Hub A ββ
ββββ Dashboard
Agent ββββ Hub B ββMultiple hubs connecting to a single dashboard. Best for large enterprise deployments with geographic distribution.
Security Configuration
For detailed security and authentication setup, see Security & Authentication.
Next Steps β
- CLI Commands - Command reference
- Transfer Protocol - Deep dive into the protocol
- Security & Authentication - Configure auth, encryption, and access control
- API Reference - Explore the API