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 .fw image 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 nh CLI 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.