HotLoop Flow
A visual flow engine for the plant floor, written in Go.
Category: HotLoop
HotLoop Flow is a visual flow engine like Node-RED, built on a different runtime: one static binary in a 25.1 MB image, a ceiling on every queue, and a hard refusal to start without authentication. Both are in the App Store, and both read the same flow files, so you pick the one that fits the job.
What it does
- Loads Node-RED v1
flows.jsonfiles, and saves them back byte for byte when nothing changed. - Ships 51 node types: everything Node-RED ships that isn't a community node,
plus
scanandnetinfofor inventorying an OT segment. - Gives every node its own goroutine, so one heavy Function node costs a core instead of freezing the editor and every other flow.
- Bounds every queue, with a per-node policy for what happens when one fills, and counts every dropped message where Prometheus can see it.
- Exports Prometheus metrics per node at
/metrics, with no sidecar.
HotLoop Flow or Node-RED
Pick HotLoop Flow when footprint and guardrails matter most: a small edge node,
bounded queues you can alert on, authentication you can't forget to turn on, and
an exec node that's off until an operator allowlists commands.
Pick Node-RED when a flow needs something HotLoop Flow doesn't have yet:
- Community nodes. They're npm packages that need Node.js, so they only run on Node-RED.
- JSONata and cron-style Inject schedules. HotLoop Flow refuses JSONata, and only interval and on-startup injection fire.
- Partial deploys. A HotLoop Flow deploy restarts every node, so MQTT connections drop and reconnect.
- Persistent context. HotLoop Flow keeps flow and global context in memory only, so it's gone when the pod restarts.
Not sure which one an existing flow needs? Run hotloop-flow import flows.json.
It sorts every node type in the file into runs, partly runs (with what's missing
spelled out) and doesn't run.
What HotLoop Flow has and hasn't built yet is in its README.
Running on EmberNet
- HotLoop Flow can run as many instances per node as you need. Each instance is its own release with its own flows. Don't scale one release's replicas, because two pods would both subscribe and both write.
- The default resource preset requests 10m of CPU and 64Mi of memory, so it fits on a small edge node.
- Three network modes:
cluster(the default),hostfor the node's own interfaces and broadcast domain (one per node, on port 1880 unless you set another), andmacvlanfor its own address on the OT VLAN (needs Multus). - The chart generates the admin password and the credential secret on first install and keeps both across upgrades. If the credential secret ever changed, every stored broker password in every flow would be unreadable.
Licensing
HotLoop Flow is Apache-2.0, free for everyone, businesses included, with nothing to sign up for. That's different from the rest of HotLoop.