Commit Graph

8 Commits

Author SHA1 Message Date
Avgustin Marinov
8ea3fdb5e7 SDK AutoConfig & improvements & fixes (#1663)
* SDK autoconfiguration added
* Option for custom error decoder and request interceptor added
* Fixed authentication for targets with security token

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-21 15:44:27 +02:00
Avgustin Marinov
1845f9879f Fix some sonar finings (2) (#1653)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-19 14:45:21 +02:00
Avgustin Marinov
92de2d573c Fix some sonar finings (#1652)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-19 13:42:32 +02:00
Avgustin Marinov
4ebabcb256 SDK: Add Update & Artifact handler (#1640)
Extension points that could allow user to plug-in the update exection and simulate some behaviours, uncluding implement real updates

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-13 17:20:02 +02:00
Avgustin Marinov
e47d78f7ef SDK: Fix software update download (#1639)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-13 12:29:30 +02:00
Avgustin Marinov
3b6570bca6 Introduce inital draft of hawkBit SDK (#1638)
Intends to provide a Java SDK facilitating:
* development of back-end integrations using mgmt api (including UI-s)
* development of java based high-end devices (which could run Spring apps) to communicate with hawkBit via DDI API
* implementation of demo/test cases using device & management SDK

Status: initial draft
 - Feign client did & management API - done
 - Hal/HATEAOS Support - works (including in non-web apps)
 - device communication works when no software updates (e.g. pulling software base)
 - demo for single and multiple devices simulation (including management API uses)
 - TODO - fix software update flows
 - TODO - provide more integration points for developers to interact with device SDK

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-12 16:30:22 +02:00
Avgustin Marinov
7768e543fd [#1548] Add support for dynamic rollouts (#1533)
* [#1548] Add support for dynamic rollouts

-- Current status --

Initial draft only !!!, to be improved

TODO:
 * evaluate the target count - if update group/rollout total count fails dynamic updates could (?), actually, contain more targets
 * is it needed to break handler on group creating?
 * if dynamic group schedulers occur to be heavy - maybe a handler per tenant will ensure that one tenant won't break all

*Concept for dynamic groups*:

Rollouts are static and dynamic.
Static rollouts consist of static groups only while dynamic rollouts have a number of static groups (first groups) and then an unlimited number of dynamic groups.

Group targets assignments:
* static groups include ALL matching targets created at the time the rollout was created, nevertheless they have active actions with bigger weight or not. Actions for the rollout and included targeets however are created at the start time.
* dynamic groups however are filled in when started and consider the action weight. The targets included in a dynamic group are:
  * matching (filter and distribution set compatible)
  * not included in this or following rollout static groups (if already included in any of the following rollouts - it's intended to be overridden)
  * not in active actions of any rollouts with equal or bigger weight

In general, when you create a rollout it contains all matching targets available at create time overriding any previous rollouts, actions, and so on. If the rollout is dynamic when its dynamic group becomes running it gets only matching targets that doesn't belong to static groups or have actions with great or equal weight

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

* [#1548] Add 1000 weight for actions, rollouts and auto assignments without weight

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-18 11:37:01 +02:00
Avgustin Marinov
586a9d64c7 Fix hawkbit dependency versions of Simple UI (#1527)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-22 11:02:24 +02:00