Skip to content

Overview

Deployment Options

There are several ways to deploy NF:

System Architecture

NF is a layered system with well-defined interfaces between components. It provides access at different levels of abstraction so application writers can use high-level APIs in most cases, but drop down into protocol-level details when needed.

NF's services communicate natively over gRPC. Envoy serves as a frontend proxy, providing URL routing, authentication (using JWTs), grpc-web support, and JSON transcoding for an equivalent REST API.

State is stored in a local Redis instance with RediSearch and RedisTimeSeries.

Service Description
Point Generic point metadata and timeseries, organized as a flat namespace of UUID-identified objects. Primary interface for data replication.
BACnet Full BACnet/IP, BACnet/Ethernet, and BACnet/SC support including device discovery, data acquisition, polling, local objects, schedules, and alarms.
Command Protocol-agnostic write interface with priority, lifetime, and guardrail enforcement.
Modbus Modbus TCP and Modbus RTU-over-TCP support with configurable register maps.
Fox Tridium Niagara (Fox) protocol support for object discovery, trending, and writes.
Sparkplug Forwards data to MQTT brokers using the Sparkplug B payload and topic format.
Modeling Equipment extraction, point tagging, and ontology-based normalization.
SDK JavaScript runtime for hooks and applications with scheduling, data triggers, and sandboxed execution.