> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreflux.org/llms.txt
> Use this file to discover all available pages before exploring further.

# System Routes

> Configure MQTT bridges and Sparkplug roles with Coreflux System Routes

## Build the broker topology around your data

System Routes define how your Coreflux broker participates in a wider MQTT system. Use them to bridge selected topics to another broker, or make Coreflux consume and produce Sparkplug B traffic.

<Tip>
  **Think of System Routes as the roads around the broker.** Bridges connect MQTT brokers, and Sparkplug routes define how industrial MQTT traffic enters and leaves the system.
</Tip>

<Note>
  For **high-availability Coreflux clustering** (multi-node broker failover), see [High-Availability Clustering](/latest/mqtt-broker/clustering). That feature is broker configuration, not a System Route.
</Note>

### When to use System Routes

Use this category when you need to:

* synchronize topics with another MQTT broker;
* decode Sparkplug B payloads into readable JSON;
* publish as a Sparkplug edge node; or
* make Coreflux the Sparkplug Primary Host Application.

## Choose a System Route

<CardGroup cols={2}>
  <Card title="MQTT Bridge" icon="arrow-right-arrow-left" href="./system/mqtt-bridge">
    Synchronize selected MQTT topics with another broker.
  </Card>

  <Card title="Sparkplug B" icon="industry" href="./system/sparkplug-b">
    Decode Sparkplug traffic or publish Coreflux metrics as an edge node.
  </Card>

  <Card title="Sparkplug Host" icon="tower-broadcast" href="./system/sparkplug-host">
    Make Coreflux the Primary Host for a Sparkplug namespace.
  </Card>
</CardGroup>

***

Choose the route by the role Coreflux needs to play.

## Compare System Routes

| Route | Coreflux role | Connects to | Best for |
| - | - | - | - |
| `MQTT_BRIDGE` | MQTT bridge | Another MQTT broker | Topic synchronization and edge-to-cloud links |
| `SPARKPLUG_B` | Decoder and/or edge node | A Sparkplug MQTT namespace | Translating Sparkplug to JSON or publishing Sparkplug telemetry |
| `SPARKPLUG_HOST` | Primary Host Application | Sparkplug edge nodes | Namespace authority, commands, and automatic rebirth requests |

<Warning>
  A `SPARKPLUG_HOST` route and a `SPARKPLUG_B` route in `DECODE` or `BOTH` mode cannot run together on the same broker. Both consume the complete `spBv1.0/#` namespace. You can combine one Host route with separate `ENCODE`-only routes.
</Warning>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Choose a Sparkplug role" icon="industry" href="./system/sparkplug-b">
    Compare decode, edge-node, and Primary Host responsibilities.
  </Card>

  <Card title="High-Availability Clustering" icon="server" href="/latest/mqtt-broker/clustering">
    Run multiple Coreflux brokers as a fault-tolerant cluster.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.