Markus Block 56e4066f12 Feature invalidation of distribution sets [UI part] (#1176)
* Visualization of action/button invalidate DistributionSet

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* introduced two dialogs to confirm ds invalidation

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* fixed dialog titles appear centered and added manamgement classes

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* retrieving affected entities from repository

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* considered multiselection for invalidating dist sets

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* adapt style and tooltip of invalid distributions in grid

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* showing errors for actions not allowed for invalidate DS

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* enhanced error message with dist name and version

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* added ids to the labels to be used in tests

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* added support for overwriting entity specific edit behaviour

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* Fixed incorrect label for cancelled action due to invalidation of ds in
a rollout

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* Fixed error notification to not show "please try again" for an invalid
DS

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* fixed typo

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* fixed Sonar findings

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* remove DS of a copied Rollout in case the DS is invalidated

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* changed icon of RolloutActionStatus in case of stopped Rollout because
of invalidation of DS and DS wasn't yet assigned to target. This is to
distinguish from the case of not assigned DS because of duplicate DS
assignemnt

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* Prevent editing Metadata of invalid DS

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* show DS as invalidated in Rollout view

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* incorporated code review remarks

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* invalidated DS should be removed from the list of DS to be invalidated

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* fixed missing code due to merge

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* Fixed compile error due to rebase

Signed-off-by: Markus Block <markus.block@bosch-si.com>
2021-10-01 16:15:05 +02:00
2020-10-21 17:21:55 +02:00
2021-02-23 10:15:47 +01:00
2020-01-16 12:04:12 +01:00
2017-02-07 09:57:57 +01:00
2016-07-20 16:51:01 +02:00
2015-11-09 14:19:06 -05:00
2021-08-30 15:39:23 +02:00

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.

Build: Circle CI SonarQuality Maven Central Lines of code

Docker: Docker Docker MYSQL

Documentation

see hawkBit Documentation

Contact us

  • Having questions about hawkBit? Check Stack Overflow
  • Want to chat with the team behind hawkBit? Join the chat at https://gitter.im/eclipse/hawkbit
  • Having issues with hawkBit? Open a GitHub issue.
  • You can also check out our Project Homepage for further contact options.

Examples and Extensions

Next to the hawkBit core hosted here the project maintains as well examples and extension repositories.

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. Keep in mind as well that you are not permitted to store any kind of personal data in the sandbox.

https://hawkbit.eclipse.org

In addition the following vendors offer free trial accounts for their hawkBit compatible products:

Device Integration

hawkBit exposes HTTP/JSon based Direct Device Integration (API) API that allow any update client to integrate quite easily.

The Eclipse Hara subproject aims to provide a reference agent software implementation of the Eclipse hawkBit device API. At the moment the project provides the hara-ddiclient Kotlin library that facilitates and speeds up the development of DDI API clients running on the JVM. The library is expected to soon see its first release under the Eclipse umbrella, and has been successfully used in production for years under its previous guise.

Additionally, the hawkBit project has the long term goal to provide Eclipse Hono integration which will provide connectivity through various IoT protocols and as a result will allow a wide range of clients to connect to hawkBit.

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.
  • rauc-hawkbit which is a python-based hawkBit client application and library for the RAUC update framework.
  • hawkbit-rs provides a couple of Rust crates to help implement and test hawkBit clients.

Runtime dependencies and support

Java Runtime Environment: 1.8,11

SQL database

Database H2 MySQL/MariaDB MS SQL Server PostgreSQL IBM DB2
DDLs maintained by project
Test dependencies defined
Versions tested 1.4 MySQL 5.6/5.7, AWS Aurora MS SQL Server 2017/2019 PostgreSQL 12/13 DB2 Server v11.1
Docker image with driver provided (Tag: "-mysql")
JDBC driver H2 1.4.200 MariaDB Connector/J 2.6.2 MSSQL-JDBC 7.4.1.jre8 PostgreSQL JDBC Driver 42.2.14
Status Test, Dev Production grade Production grade Test, Dev Test, Dev

(Optional) RabbitMQ: 3.6,3.7,3.8

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:

localhost:8080

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 and start hawkBit Update Server

git clone https://github.com/eclipse/hawkbit.git
cd hawkbit
mvn clean install
java -jar ./hawkbit-runtime/hawkbit-update-server/target/hawkbit-update-server-#version#.jar

Start hawkBit Device Simulator (optional)

git clone https://github.com/eclipse/hawkbit-examples.git
cd hawkbit-examples
mvn clean install
java -jar ./hawkbit-device-simulator/target/hawkbit-device-simulator-#version#.jar

Generate getting started data with the Management API example (optional)

java -jar ./hawkbit-example-mgmt-simulator/target/hawkbit-example-mgmt-simulator-#version#-exec.jar

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 device facing DDI API is on major version 'v1' and will be kept stable.

Server facing and DMF API are Management API are on v1 as well. However, we cannot fully guarantee the same stability during hawkBit's 0.X development but we will try as best we can.

Description
No description provided
Readme EPL-2.0 47 MiB
Languages
Java 98.4%
Python 1.2%
Shell 0.3%