hivekitgo

module
v0.0.0-...-43a846b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2025 License: MIT

README

HiveKit - HiveOT Development Kit

HiveKit provides building blocks for building W3C Web of Thing compatible applications using the golang language.

HiveKit provides components for serving device WoT interfaces, routing of action, event and property messages, logging of messages, a factory for constructing and reading TDs and certificate and authentication key creation and validation.

HiveKit is used in HiveFlow, the IoT Concentrator; for building agents that provide a WoT interface to 3rd party IoT protocols; and in the hub to provide a digital of IoT devices and WoT enabled services.

HiveKit components were originally part of the HiveOT Hub and have been extracted to encourage use in different applications.

Overview

Project Status

Nov 2025: Kickoff, extraction from HiveOT Hub is complete. Nov 2025: Add documentation of building blocks and howto use.

Audience

This project is aimed at software developers for building secure IoT solutions. HiveOT users support the security mandate that IoT devices should be isolated from the internet and end-users should not have direct access to IoT devices. Instead, all access operates via a secured gateway of sorts.

About HiveOT

Security is big concern with today's IoT devices. The Internet of Things contains billions of devices that when not properly secured can be hacked too easily. Unfortunately the reality is that the security of many of these devices leaves a lot to be desired. Many devices are vulnerable to attacks and are never upgraded with security patches. This problem is only going to get worse as more IoT devices are coming to market. A botnet of a billion IoT devices can bring parts of the Internet to its knees and cripple essential services. The idea of exposing IoT devices for direct use by consumers is considered ill advised and does not meet the needs of todays reality.

To two main goals of HiveOT are:

  • Aid in improving security of IoT devices by isolating them from bad actors and providing a single secure endpoint.
  • Simplify integration and usage of IoT devices by providing a single consist standardized way of interacting with all IoT devices including authentication, authorization, directory, history and other capabilities.

HiveOT is based on the W3C WoT TD 1.1 specification for interaction between IoT devices and consumers. It aims to be compatible with this standard.

Integration with 3rd party IoT protocols is supported through the use of IoT plugins. These plugins translate between the WoT protocol and 3rd party IoT protocols, interacting using properties, events and actions.

hub uses HiveFlow as its runtime and adds a digital twin model, service launcher, history, dashboard, and other features such as bridging in a single package.

Directories

Path Synopsis
Package testenv with managing certificates for testing
Package testenv with managing certificates for testing
discovery
Package discovery with client for DNS-SD service discovery
Package discovery with client for DNS-SD service discovery
Package keys with key generation
Package keys with key generation
Package logging with logging configuration
Package logging with logging configuration
Package messaging with the 3 flow messages: requests, response and notifications
Package messaging with the 3 flow messages: requests, response and notifications
discoserver
Package discoserver to publish Hub services for discovery
Package discoserver to publish Hub services for discovery
net
Package utils with functions to get the outbound network interface
Package utils with functions to get the outbound network interface
tlsclient
Package tlsclient with a TLS client helper supporting certificate, JWT or Basic authentication
Package tlsclient with a TLS client helper supporting certificate, JWT or Basic authentication
tlsserver
Package tlsserver with TLS server for use by plugins and testing
Package tlsserver with TLS server for use by plugins and testing
wot
td
Package td with API interface definitions for the ExposedThing and ConsumedThing classes
Package td with API interface definitions for the ExposedThing and ConsumedThing classes

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL