* Distribution Set Details are shown correctly. Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix Distribution Set details shows the right data Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Show the right Details when deleting target, ds and sm Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Software Module details are shown correctly on view change Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Caption Artifact Details of is updated correctly after software module deletion Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Artifact Details are shown correctly, small css improvements Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Code refactor Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix search of softwareModule and DistributionSet in UI Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix typos, insert ids for components Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Code Refactor Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Redo add access Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Correct caption Id of new dist. set, remove unnecessary event Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix selected entity in SwModuleTable, Code refactor Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix error in Upload View concerning selected softwareModule Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Remove Optional, Remove StringUtils, refactor code Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Refactor events when filtering distribution set or software module Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix Sonar issues Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Save softwareMmoduleId in ArtifactUploadState, not whole entity Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Refactor event handling for filtering sw and ds; refactor optional handling Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Make selectedSoftwareModule transient Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Remove mysql properties Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Refactor ArtifactDetailsLayout Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix comment Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix some comments Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Generalize common behavior in selecting entity in a table Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Optional is not set in the getter but in the setter in the UIState classes Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix sonar issue Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Change getter visibility to protected Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Refactor publishSelectedEntity Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Refactor Java Docs Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix pull request comments Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Fix comments Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Change lastSelectedEntities/selectedEntities to type Long,remove Generic Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com> * Show details captions even when table is empty Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
Eclipse hawkBit™ - Update Server
Eclipse hawkBit is an domain independent back end solution for rolling out software updates to constrained edge devices as well as more powerful controllers and gateways connected to IP based networking infrastructure.
Documentation
Contact us
- Want to chat with the team behind hawkBit?
- Having issues with hawkBit? Open a GitHub issue.
- You can also check out our Project Homepage for further contact options.
hawkBit sandbox
We offer a sandbox installation that is free for everyone to try out hawkBit. However, keep in mind that the sandbox database will be reset from time to time. It is also not possible to upload any artifacts into the sandbox. But you can use it to try out the Management UI, Management API and DDI API.
https://hawkbit.eu-gb.mybluemix.net/UI/
Device Integration
hawkBit does not provide off the shelf clients for devices as part of the project. The long term goal is to provide an Eclipse hono integration which will provide connectivity through various IoT protocols and as a result allows a wide range of clients to connect to hawkBit. However, the hawkBit Direct Device Integration (API) API is HTTP/JSon based which should allow any update client to integrate quite easily.
There are clients outside of the Eclipse IoT eco system as well, e.g.:
- SWupdate which is a Linux Update agent with focus on a efficient and safe way to update embedded systems.
Getting Started
We are providing a Spring Boot based reference Update Server including embedded H2 DB for test and evaluation purposes. Run with docker:
$ docker run -d -p 8080:8080 hawkbit/hawkbit-update-server
Open the update server in your browser:
See below for how to build and run the update server on your own. In addition we have a guide for setting up a complete landscape.
hawkBit (Spring boot) starters
Next to the Update Server we are also providing a set of Spring Boot Starters to quick start your own Spring Boot based application.
Clone, build and run hawkBit
Build
$ git clone https://github.com/eclipse/hawkbit.git
$ cd hawkbit
$ mvn clean install
Start hawkBit Update Server
$ java -jar ./hawkbit-runtime/hawkbit-update-server/target/hawkbit-update-server-#version#.jar
Start hawkBit Device Simulator (optional)
$ java -jar ./examples/hawkbit-device-simulator/target/hawkbit-device-simulator-#version#.jar
Generate getting started data with the Management API example (optional)
$ java -jar ./examples/hawkbit-example-mgmt-simulator/target/hawkbit-example-mgmt-simulator-#version#.jar
Releases and Roadmap
- In the upcoming release 0.2:
- Rollout management for large scale update campaigns.
- Clustering capabilities for the update server.
- Upgrade of Spring Boot and Vaadin dependencies (Boot 1.4, Vaadin 7.7).
- Improvements on modularization and customizability based on Spring's auto-configuration mechanism.
- Provide Spring Boot Starters for custom apps based on hawkBit.
- Provide standard runtime by means of Spring Boot based hawkBit update server (and hopefully a docker image).
- And of course tons of usability improvements and bug fixes.
- Future releases
- Complete repository refactoring.
- Integrate with Eclipse hono as DMF provider.
- Flexible DMF messaging infrastructure (e.g. with Spring Cloud Stream).
- Migrate to Spring Framework 5, Spring Boot 2 and Vaadin 8
- Re-evaluate JPA as persistence provider (e.g. look into jOOQ)
Status and API stability
hawkBit is currently in '0.X' semantic version. That is due to the need that there is still content in hawkBit that is in need for refactoring. That includes the maven module structure, Spring Boot Properties, Spring Boot auto configuration as well as internal Java APIs (e.g. the repository API ).
However, the external APIs (i.e. Management API, DDI API, DDI Artifact Download API and DMF API are on major version 'v1' and will be kept stable.