Single Hub and Multi-Spoke Deployment Scenario
This example shows you how to configure a hub and spoke Edge Cascading architecture where multiple spoke instances in the OT layer stream data to a single hub instance in the DMZ layer.
Scenario
A manufacturing facility has two production lines, each with its own Litmus Edge instance collecting data from PLCs, sensors, and SCADA systems. The facility needs to aggregate this data in a DMZ layer before publishing to cloud services and enterprise systems.
Architecture
In this example:
- LE Coll 1 (spoke): Collects data from Production Line 1 devices
- LE Coll 2 (spoke): Collects data from Production Line 2 devices
- LE 3 - DMZ (hub): Aggregates data from both production lines and publishes to cloud services

Network Topology
- OT Network: LE Coll 1 and LE Coll 2 are deployed at Level 2/3
- DMZ Network: LE DMZ is deployed in the DMZ layer
- Firewall: Port 7422 is open on the DMZ firewall for Hub access
- Connection Direction: Spoke instances initiate outbound connections to the hub (no inbound connections required in OT)
Configuration Workflow
To configure the hub and spoke architecture:
- Enable Edge Cascading v2 on all instances.
- Configure LE DMZ as a Hub instance.
- Create two accounts on LE DMZ (one for each production line).
- Configure firewall rules on LE DMZ.
- Copy account tokens from LE DMZ.
- Configure LE Coll 1 and LE Coll 2 as spoke instances.
- Add stream connections on both spoke instances.
- Verify connections and data flow.
Note: In this example, account permissions are defined with topics which may not existing in your Litmus Edge Instance(s). Please define account permissions with topics that are present in your Spoke Litmus Edge Instances.
Step-by-Step Configuration
Step 1: Enable Edge Cascading v2 on All Instances
On each Litmus Edge instance (LE Coll 1, LE Coll 2, and LE DMZ):
- Navigate to DataHub > Edge Cascading.
- Set Enable Litmus Edge Cascading Configuration to enabled.
Step 2: Configure LE DMZ as Hub
Set Instance Type
On LE DMZ:
- Navigate to DataHub > Edge Cascading.
- Click the Instance Type dropdown and select Hub.
- Click Apply and then Proceed.
Create Account for Production Line 1
On LE DMZ, create an account for LE Coll 1:
- Click the Accounts tab.
- Click Add Account and enter Line1_Collector in Account Name and click Apply.
- Click the Action menu (three dots) for the Line1_Collector account and select Edit.
- Add the following topics:
- devicehub.alias.PLC1.>
- devicehub.alias.Sensor1.>
- In Prefix, enter from_Line1.
- Click Apply to save the configuration.
2.3: Create Account for Production Line 2
On LE DMZ, create an account for LE Coll 2:
- Click Add Account.
- In Account Name, enter Line2_Collector and click Apply.
- Click the Action menu (three dots) for the Line2_Collector account and select Edit.
- Add the following topics:
- devicehub.alias.PLC2.>
- devicehub.alias.Sensor2.>
- In Prefix, enter from_Line2.
- Click Apply to save the configuration.
2.4: Restart Message Broker
On LE DMZ:
- Click Restart to activate both accounts.
- Wait for the status to show Connected with a green indicator.
2.5: Configure Firewall Rule
On LE DMZ:
- Navigate to System > Network > Firewall > Inbound Rules.
- Click Add Rule.
- Enter the following details:
- Port: 7422
- Protocol: TCP
- Interface: Select your DMZ interface (e.g., eth0)
- Description: Edge Cascading Hub inbound access
- Click Add Rule.
2.6: Copy Account Tokens
On LE DMZ:
- From the Accounts tab, click the Action menu for Line1_Collector and select View Token.
- Click Copy and save the token (you will use it on LE Coll 1).
- Repeat for Line2_Collector and save the token (you will use it on LE Coll 2).
Step 3: Configure LE Coll 1 as Spoke
3.1: Set Instance Type
On LE Coll 1:
- Navigate to DataHub > Edge Cascading.
- Click the Instance Type dropdown and select Spoke.
- Click Apply and then Proceed.
3.2: Add Stream Connection
On LE Coll 1:
- In the Streams tab, click Add Stream.
- Enter the following details:
- Token: Paste the token from the Line1_Collector account
- Enable TLS: Leave unchecked (unless TLS is configured)
- Click Add Stream.
3.3: Apply and Verify Connection
On LE Coll 1:
- Click Restart to apply the stream configuration.
- Verify the status shows Connected with a green indicator.
Step 4: Configure LE Coll 2 as Spoke
4.1: Set Instance Type
On LE Coll 2:
- Navigate to DataHub > Edge Cascading.
- Click the Instance Type dropdown and select Spoke.
- Click Apply and then Proceed.
4.2: Add Stream Connection
On LE Coll 2:
- In the Streams tab, click Add Stream.
- Enter the following details:
- Stream Name: to_DMZ_Hub
- Token: Paste the token from the Line2_Collector account
- Enable TLS: Leave unchecked (unless TLS is configured)
- Click Add Stream.
4.3: Apply and Verify Connection
On LE Coll 2:
- Click Restart to apply the stream configuration.
- Verify the status shows Connected with a green indicator.
Step 5: Verify Data Flow on Hub
On LE DMZ, verify that data from both production lines is flowing:
Test Data in Analytics
- Navigate to Analytics.
- Create a DataHub Subscribe processor and enter: from_Line1.devicehub.alias.PLC1.Temperature from_Line2.devicehub.alias.PLC2.Temperature
- Enable the debug button on the Analytics processor to see the data in the debug console.
Data Flow Example
Original Topics on Spoke Instances
LE Coll 1 publishes:
- devicehub.alias.PLC1.Temperature
- devicehub.alias.PLC1.Pressure
- devicehub.alias.Sensor1.Status
LE Coll 2 publishes:
- devicehub.alias.PLC2.Temperature
- devicehub.alias.PLC2.Pressure
- devicehub.alias.Sensor2.Status
Prefixed Topics on Hub Instance
After streaming through Edge Cascading, LE DMZ receives:
From LE Coll 1:
- from_Line1.devicehub.alias.PLC1.Temperature
- from_Line1.devicehub.alias.PLC1.Pressure
- from_Line1.devicehub.alias.Sensor1.Status
From LE Coll 2:
- from_Line2.devicehub.alias.PLC2.Temperature
- from_Line2.devicehub.alias.PLC2.Pressure
- from_Line2.devicehub.alias.Sensor2.Status
The prefixes ensure there are no topic name conflicts when aggregating data from multiple sources.