Skip to main content

Fleet Management

Manage thousands of EdgeFlow devices at scale. Device grouping, bulk operations, resource policies, auto-remediation, and centralized monitoring across your entire fleet.

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:

  1. Collaboration modules (lowest priority)
  2. Messaging modules
  3. Storage modules
  4. AI modules
  5. 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"
    }
  }
}