API Reference nerves_hub_link v#2.9.0
View SourceModules
The Device-side client for NervesHub.
A slim adapter for Alarmist and :alarm_handler, providing a unified interface for setting and clearing alarms.
GenServer for handling downloading archives from NervesHub
Functions for computing network connect backoff intervals
Certificate management utilities
The primary integration point for customizing your applications connection with NervesHub.
Default NervesHubLink.Client implementation
Behaviour for implementing a configurator.
Data structure for holding configuration information provided by the configurator.
Configurator allowing authentication via locally stored certificate key.
Configurator enabling authentication via NervesKey.
Configurator allowing authentication with a shared secret.
Configurator enabling authentication via TPM.
Handles downloading files via HTTP.
Download retry configuration.
Extensions are a mechanism for transmitting messages for non-critical functionality over the existing NervesHub Socket. An extension will only attach if the server-side requests it from the device to ensure it will not disrupt regular operation.
The Geo Extension.
Default Resolver implementation.
Geo extension behaviour for writing custom resolvers.
The Health Extension.
A default health report implementation with support for easily adding new metadata, metrics and such via config.
Structure for device status.
Behaviour for implementing a custom metric set to be used in a report.
Health report metrics for CPU temperature, utilization, and load averages.
Health report metrics for total, available, and used disk space.
Health report metrics for total, available, and used (percentage) memory.
Health report metrics for bytes sent and received (total) per interface.
Behaviour for implementing a custom health report.
Config structure responsible for
Payload received from NervesHub when an archive is available.
Detailed firmware metadata received during the firmware update process.
Payload received from NervesHub when an update is available.
GenServer responsible for brokering messages between
This module orchestrates firmware updates by downloading the firmware from the specified URL and storing it in a cache directory before applying it. If a partial download exists, it resumes from where it left off.
This module is responsible for updating firmware using a streaming approach.
It uses the NervesHubLink.Downloader module to download the firmware and then sends the chunks to the
Fwup module to update the firmware.
A behaviour to help orchestrate the complete workflow of downloading and installing/applying firmware updates.