First release of the hara-ddiclient by the Eclipse Hara project. Hara-ddiclient is a Kotlin library that facilitates and speeds up the development of DDI API clients for devices connecting to hawkBit servers. Hara-ddiclient provides a library, a reference example implementation called "virtual device" and a docker image of the virtual device.
The first release provides support for the major DDI API features such as HTTP and HTTPS connections, authentication with Gateway Token or Target Token, and forced and soft updates.
Being a library the project is extensible by its nature. Interfaces are exposed to the users of the library.
some Kotlin features marked as ObsoleteCoroutinesApi (and ExperimentalCoroutinesApi) are used
Kotlin is not updated to the latest version (currently 1.6.10)
There are no security issues known at the time of this writing.
The project provides:
README.md file with:
how to import the project using gradle / maven
how to build the project from source
how to run the virtual device reference example client
how to use the library in custom projects, including code examples
how to contribute to the project
where to find help
IP, licensing and copyright
Kdoc (code documentation)
Conforms To UI/UX Guidelines:
Not applicable (project doesn't provide UI)
End of Life:
Since this is the first release of hawkBit, there are no deprecated or removed features (yet).
Hara does not support any particular standards.
The Hara team is attracting users, adopters, and contributors using multiple channels.
On GitHub (https://github.com/eclipse/hara-ddiclient) users can create issues for questions, bugs, and enhancements and provide pull requests for improving hawkBit. Users are reporting bugs also via the mailing list (https://www.eclipse.org/lists/hara-dev/msg00001.html) or the hawkBit gitter chat
The Hara team openly reviews the changes by committers and external contributors using github pull requests (https://github.com/eclipse/hara-ddiclient/pulls?q=is%3Apr+is%3Aclosed)
Some of the committers are speaking at conferences (https://www.eclipsecon.org/2022/sessions/eclipse-hara-updating-embedded-devices-hawkbit-made-easy, https://youtu.be/hva9ZwehIjo, https://youtu.be/0TFHlPCq2PU), publishing blog entries and/or articles (https://www.kynetics.com/eclipse-iot-and-edge-native-the-hara-project, https://www.kynetics.com/eclipsecon-2022).
Some of the committers are active in the hawkBit gitter channel, helping hawkBit and Hara users (https://gitter.im/eclipse/hawkbit?at=63317081d020d223d356ce1e, https://gitter.im/eclipse/hawkbit?at=62541ecec61ef0178eb81aec, https://gitter.im/eclipse/hawkbit?at=61725d41f2cedf67f99c0cf1, etc)
Know users of the hara-ddiclient library are:
the virtual device reference implementation, included in the hara-ddiclient repository
Kynetics' Update Factory Android Client for hawkBit (https://github.com/kynetics/uf-android-client). The client is used in thousands of production Android devices to apply application and OS OTA software updates
RTSoft Gmbh company. The company and its employees forked the project (https://github.com/rtsoft-gmbh/hara-ddiclient, https://github.com/aleksandrovrts/hara-ddiclient/tree/hara-tiny) and contributed patches before the project migrated to Eclipse github (https://github.com/Kynetics/uf-ddiclient/pull/2)