Terminology
A glossary of NervesHub terms: orgs, products, devices, firmware, deployment groups, releases, auth, and observability.
Written By Josh Kalderimis
Last updated About 2 months ago
A quick glossary of the terms used throughout NervesHub. Where a term has its own guide or concept page, it's linked.
Structure
Organization (Org): the top-level tenant. Owns products, users, signing keys, and certificate authorities. Fleets in different organizations are fully isolated.
Product: a group of devices that run the same application, within an organization. Devices, firmware, deployment groups, archives, and support scripts all belong to a product.
User: an account that can sign in to the web app. Users are granted roles within an organization.
Devices
Device: a single Nerves-based unit connected to NervesHub, uniquely identified by its identifier (usually a serial number).
Tag: a free-form label attached to a device. Deployment groups target devices by their tags.
Device connection: a record of a device's websocket connection to the server, including connection history and last-seen time.
Penalty box: a temporary state a device is placed in after repeated update failures, preventing it from retrying too aggressively. See Deployment orchestration.
First-connect / connecting code: code that can run on a device the first time it connects, useful for provisioning.
Firmware & updates
Firmware: a signed
.fwimage built from your Nerves project, identified by a UUID and carrying metadata (product, version, platform, architecture).Firmware signing keys: the public/private key pair used to sign firmware and verify signatures. See Firmware signing & fwup.
fwup: the tool that builds, signs, and applies firmware images on both the build host and the device.
Firmware delta: a partial update containing only the difference between two firmware versions, saving bandwidth. See Firmware deltas.
Archive: an additional signed payload distributed to devices alongside firmware.
Deployments
Deployment group: a rule that targets a set of devices (by version and tags) and the firmware/release they should run. Controls rollout behavior: concurrency, queue order, failure thresholds, and delta updates. (In the
nhCLI this is still called a deployment.) See Deployment groups & releases.Release: a specific firmware version published to a deployment group. A deployment group has a current release and a history of previous ones.
Orchestrator: the distributed process that coordinates rollouts across the cluster, respecting concurrency limits and failure thresholds.
Authentication & security
Shared secret: an HMAC-based product key/secret pair for simple device registration. Best for hobby and R&D projects.
Device certificate: an X.509 certificate that authenticates an individual device via mutual TLS (mTLS). Recommended for production.
Signer CA / Certificate Authority: a CA certificate uploaded to an organization used to verify device certificates, and optionally to support Just-In-Time Provisioning (JITP).
JITP (Just-In-Time Provisioning): automatically registering a device the first time it presents a certificate signed by a trusted Signer CA.
NervesKey: a hardware security module that stores device private keys and certificates securely. See the NervesKey section.
Observability
Health: reported device metrics, alarms, and network interface data (an extension).
Geo: device geo-location, via GeoIP or a custom source (an extension).
Extension: an optional capability negotiated over the device socket (currently Health and Geo).
Support script: a snippet you can run on demand against an online device.
Audit log: an immutable record of actions taken across orgs, products, devices, and deployments.
Insights: analytics and device logs, powered by the optional ClickHouse database.