Antares

Antares is an NGSI-LD Context Broker written in Rust: one native binary that stores entities, answers queries, keeps attribute history, delivers notifications over HTTP and MQTT, and federates with other brokers through Context Source Registrations. The same crates compile to WebAssembly and run the whole broker inside a web page.

What it implements

ETSI GS CIM 009 V1.9.1, the NGSI-LD API, clause by clause: the information model (4.x), the operations (5.x), the HTTP binding (6.x) and the MQTT notification binding (7). The Conformance chapter carries the ledger, one file per clause, and the ETSI test suite runs against every storage backend in CI. NGSI-LD 2.0 splits the same material into a core specification and an HTTP binding; Antares keeps the operation semantics and the binding in separate modules for that reason, and the Extending Antares chapter says what a new binding attaches to.

Three deployment shapes

shapestorebuswhen
single binarymemory or file (redb on a volume)in-processdevelopment, edge devices, one node, the browser build
postgrespostgres (PostGIS)in-process or NATSproduction on one broker
scaledpostgres or timescaleNATS JetStreamseveral stateless broker pods, role split, rolling updates

Current state and history are chosen independently: ANTARES_STORE picks where entities live, ANTARES_TEMPORAL where their history goes, including none. Storage drivers has the ladder and the measured costs.

What the broker does not do

Authentication, rate limiting and quotas belong to the policy enforcement point in front of the broker (an API gateway), and so does every authorization decision: the broker ships no policy engine, only the seam one attaches to (ADR-0020). The broker validates, stores, serves, notifies and federates; it trusts the NGSILD-Tenant header it receives and enforces tenant isolation in the store. The Shared crates chapter shows how a gateway uses the broker's own parser, query engine and matcher to make its decisions with identical semantics.

Which chapter

you want toread
run a broker in five minutesGetting started
set every knobConfiguration
run it in production, back it up, roll itDeployment, Operations
receive notificationsSubscriptions and notifications
query historyTemporal API
connect brokersFederation
run it in a browserBrowser & WebAssembly
see the health, metrics and admin routesAdmin API
know what is conformantConformance
add a backend or a hookExtending Antares
compare with other brokersEcosystem & positioning

Links: live conformance report, browser playground, source, ADRs.