Mantle
A Sparkplug B host application for Ignition 8.3 and later. Point it at your broker. Tags create themselves, get historized, and stay yours to customize. There is no second set of tags to maintain.
- Cost
- Free
- License
- Apache License 2.0, open source
- Ignition compatibility
- 8.3.0 and later. The middle version digit must match the platform, so an 8.4 release will be a separate build.
- Version
- 1.3.0
- Download
- Direct .modl file. No email, no form, no login. The module is signed by Joy Automation.
- Support
- Paid support and integration from Joy Automation. Optional, never required.
Three things, each tested on every commit
Every claim below is checked against a live Ignition gateway and a real Sparkplug edge node.
Tags create themselves
[Sparkplug]Group/Node/Metric. Data type, engineering units,
range and documentation carry across from the edge. Nothing is declared in advance, and
nothing is re-declared when the edge changes.Tags are historized by default
There is one set of tags
Almost nothing to configure
Configuration is where these setups go wrong, so there is very little of it. A broker URL is the only setting you have to fill in.
Where something is genuinely missing, Mantle tells you. A gateway with no tag historian records nothing, so Mantle reports that connection as a problem in the Status column of the page you configured it on, along with what to do about it. Silent data loss is the failure this module exists to prevent.
Secure by default
- Passwords are stored as Ignition secrets. Encrypted on disk, or referenced from a secret provider. Never stored as plain text.
- TLS with
ssl://, verified against the gateway's own trust store. A private plant certificate authority goes indata/certificates/supplemental/once and serves every module, so there is no per-connection trust store to get wrong. - Mutual TLS. A client certificate and PKCS#8 key, read at connect time, so certificate renewals need no edit.
What has been tested, and what has not
Tested against a live Ignition 8.3.9 gateway and a real Sparkplug edge node on every commit.
Tested
- The tag tree, data types, templates as UDTs, and a customized tag surviving a rebirth.
- Writes in both directions, including a write to one UDT member leaving the others alone.
- Deaths, killed nodes, keep-alive timeouts, broker restarts, and store-and-forward data landing in history stamped inside the outage.
- TLS, authenticated brokers and mutual TLS, each with its negative case.
- Three brokers: Mosquitto 2, EMQX 5 and HiveMQ CE (the broker the official Sparkplug conformance kit is built on). Two transports: TCP and WebSockets. Each is verified by real Sparkplug traffic arriving as tags.
- Sparkplug conformance: 49 assertions of the Sparkplug Technology Compatibility Kit's host application profile pass and none fail, graded from the packets on the wire.
- The published, signed
.modlinstalling on a clean gateway with no developer flags. It is the same file this page links to.
Not yet tested
- AWS IoT Core and Azure. Both negotiate TLS differently (ALPN) and need accounts to test against.
- Secure WebSockets (
wss://). WebSockets and TLS are each covered, but not the two together. - An edge with a badly skewed clock.
- Sustained load.
Free software, paid help if you want it
The software is free and always will be. If you want someone on the end of a phone for commissioning, a migration off another MQTT module, a broker that does not behave, or a feature you need, that is what Joy Automation sells.