Overview
Fleet Management enables you to operate thousands of EdgeFlow devices as a unified system. Group devices by location, function, or project. Apply bulk operations, enforce resource policies, and monitor fleet-wide health — all from a single dashboard.
Device Registry
Every provisioned device is tracked in the cloud device registry with rich metadata:
{
"device_id": "dev_abc123xyz",
"status": "online",
"last_seen_at": "2026-02-21T12:34:00Z",
"connected_at": "2026-02-21T08:00:00Z",
"firmware_version": "1.2.3",
"agent_version": "1.2.3",
"hardware": {
"board_model": "Raspberry Pi 4 Model B Rev 1.4",
"cpu_cores": 4,
"ram_mb": 4096,
"os": "linux",
"arch": "arm64"
},
"network": {
"hostname": "edgeflow-pi-001",
"ip_address": "192.168.1.100",
"mac_address": "dc:a6:32:xx:xx:xx",
"connection_type": "ethernet"
},
"tags": ["warehouse-a", "temperature", "production"],
"group": "factory-floor"
} Device Grouping
Organize devices into logical groups for targeted operations:
| Grouping | Example | Use Case |
|---|---|---|
| By Location | warehouse-a, building-3, floor-2 | Deploy location-specific flows |
| By Function | temperature-monitors, door-sensors | Apply function-specific configs |
| By Project | project-alpha, pilot-batch | Manage lifecycle per project |
| By Hardware | pi-zero, pi-4, jetson-nano | Target build profiles |
| By Tags | production, staging, testing | Canary deployments |
Bulk Operations
Execute commands across multiple devices simultaneously using the tunnel infrastructure. All remote commands support fleet-wide targeting:
# Deploy a flow to all devices in a group
{
"target": {"group": "factory-floor"},
"action": "create_flow",
"payload": {
"name": "Temperature Alert",
"nodes": [...],
"connections": [...]
}
}
# Start flow on all tagged devices
{
"target": {"tags": ["temperature"]},
"action": "start_flow",
"payload": {"flow_id": "flow_temp_alert"}
}
# Update config across entire fleet
{
"target": {"all": true},
"action": "update_desired",
"payload": {
"desired": {"log_level": "warn"}
}
} Resource Policies
EdgeFlow's resource monitor enforces automatic policies to prevent device overload. These policies can be configured per-device or per-group:
| Policy | Default | Action |
|---|---|---|
| Memory Soft Limit | 4 GB | Warning logged, alert sent to cloud |
| Memory Hard Limit | 8 GB | Non-essential modules auto-disabled |
| Disk Limit | 50 GB | Log rotation, old data cleanup |
| Low Memory Threshold | 100 MB free | Auto-disable flows by priority |
Auto-Remediation
When a device exceeds resource limits, the resource monitor can automatically disable non-essential modules in priority order:
- Collaboration modules (lowest priority)
- Messaging modules
- Storage modules
- AI modules
- Core modules remain active (highest priority)
Fleet Health Dashboard
The cloud dashboard provides a fleet-wide view of device health:
| Metric | Description |
|---|---|
| Online / Offline | Count of connected vs disconnected devices |
| CPU Usage | Average, min, max across all devices |
| Memory Usage | Per-device and fleet-wide memory consumption |
| Temperature | Device temperature readings (Raspberry Pi) |
| Flow Status | Running / stopped / errored flows across fleet |
| Firmware Versions | Distribution of firmware versions across devices |
| Uptime | Device uptime distribution |
Device Lifecycle
┌────────────┐ provision ┌────────────┐ connect ┌──────────┐
│Unregistered│──────────────>│ Registered │────────────>│ Online │
└────────────┘ └────────────┘ └──────┬───┘
│
┌───────────────────────────┤
│ │
disconnect send commands
│ query metrics
▼ sync shadow
┌──────────┐ │
│ Offline │ │
│ (shadow │<────────────────────┘
│ cached) │ connection lost
└──────────┘ Configuration
Fleet management settings are configured at the cloud level and pushed to devices via shadows:
# Shadow-based fleet configuration
{
"desired": {
"fleet_config": {
"heartbeat_interval": "30s",
"log_level": "info",
"auto_start_flows": true,
"resource_limits": {
"memory_soft_mb": 4096,
"memory_hard_mb": 8192,
"disk_max_gb": 50
},
"update_channel": "stable"
}
}
}