Commit Graph

2815 Commits

Author SHA1 Message Date
Avgustin Marinov
85e2299e53 Added site release notes for 0.5.0 (#1697)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-27 14:17:25 +02:00
Avgustin Marinov
03d3c3ba7b Bump spring version to 3.2.3 (#1695)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-26 08:58:43 +02:00
Stanislav Trailov
9470635327 update third party content (#1694)
Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>
2024-03-22 11:04:16 +02:00
Avgustin Marinov
a37702744c SDK improvements (#1693)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-19 17:35:14 +02:00
Avgustin Marinov
50d34dd81e Expose rollout group dynamic flag via REST (#1691)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-15 16:20:16 +02:00
Avgustin Marinov
0dcf646385 Fix properties files to make admin a DEFAULT tenant user (#1689)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-15 14:16:21 +02:00
Avgustin Marinov
cdd76c8318 Upgrade dependency versions (#1688)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-15 13:09:46 +02:00
Avgustin Marinov
d25b3c148c Fix log in AbstractHttpControllerAuthenticationFitler (#1687)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-15 11:32:41 +02:00
Avgustin Marinov
fca2e9b0ae Improve Http controller authentication filters log (#1686)
make it to log with the class name

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-15 10:21:25 +02:00
Avgustin Marinov
60e25b47ec Consistent chain = true fore Mgmt REST API (#1685)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-14 11:49:48 +02:00
Avgustin Marinov
2c4140e76f Improve Java (hence feign) API of the REST API (#1684)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-13 17:04:48 +02:00
Avgustin Marinov
bcc89ddba0 Fix multipart file resource close (#1683)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-13 09:14:57 +02:00
Avgustin Marinov
8b3a6f084d [#1651] Fix tag config - case insensitive (test) (#1681)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 15:44:10 +02:00
Avgustin Marinov
936e6d6d66 [#1651] Implement skip DistributionSet implicit lock on DS tags (#1680)
tags the implicit lock is skipped on are configured via
RepositoryProperties.skipImplicitLockForTags list.
By default skip tags are the ones with names:
"skip-implicit-lock", "skip_implicit_lock", "SKIP_IMPLICIT_LOCK", "SKIP-IMPLICIT-LOCK"

+ this commit centralize the implicit lock enable/disable logic

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 14:58:31 +02:00
Avgustin Marinov
3f060e84a3 [#1651] Fix tenant level config for DistributionSet implicit lock (enabled by default) (#1679)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 14:16:31 +02:00
Avgustin Marinov
9ac51ab988 [#1651] Implement tenant level config for DistributionSet implicit lock (#1678)
enabled by default

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 12:43:53 +02:00
Avgustin Marinov
ce9918ce00 [#1651] Add SoftwareModule and DistributionSet unlock (REST) (#1677)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 11:28:24 +02:00
Avgustin Marinov
4d104873de [#1651] Add SoftwareModule and DistributionSet unlock (Mgmt) (#1676)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 09:19:11 +02:00
Avgustin Marinov
1640025a25 Apply role hierarchy in hasPermission checks (#1675)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-07 18:52:50 +02:00
Avgustin Marinov
536bb19382 Add Roles and Hierarchies (#1673)
Adds Roles (SpRole -> TENANT_ADMIN, REPOSITORY_ADMIN, ...) and
intuitive hierarcy rules for them

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-01 12:35:40 +02:00
Avgustin Marinov
f45d8f0180 Fix TenantAwareUserProperies (#1672)
Fixed in order to get properties of form hawkbit.security.user.<username>.<property>

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-29 16:03:11 +02:00
Avgustin Marinov
311922c4aa Move static config based auth provider in security-core (#1671)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-29 15:18:44 +02:00
Avgustin Marinov
57450bf31b Add fine graned role and permission for user management (#1670)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-29 12:01:35 +02:00
Avgustin Marinov
a0db5ff70e Rename UserTenantAware to TenantAwareUser (#1668)
in order to be compatible with other TenantAware entities

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-27 08:43:40 +02:00
Avgustin Marinov
24d70827b7 Improve hawkBit user management (#1666)
1. Definded with properties users (static) are configured using property map (no need of indexes)
2. AuthenticationProvider that authenticates them is always registered (if not needed - don't configure them)
3. UserDetailsService (in case of missing - won't be registered)
4. Spring security user (spring.security.username) will be registered together with other users (if any). If any - it will be system-wide, otherwise tenant-scoped.
5. UserPrincipal renamed to TenantAwareUser in order to match its purpose.
6. Some if its fields are removes as not needed - to be closer to spring security user
7. DefaultRolloutApprovalStrategy now use UserAuthoritiesResolver instead of UserDetailsService as the central point of truth

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-26 16:56:37 +02:00
Avgustin Marinov
783a5be2dd Fix ActionFields javadoc (#1665)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-21 15:49:33 +02:00
Avgustin Marinov
e30737f51b Simple UI migrated over SDK Management Client (#1664)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-21 15:46:44 +02:00
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
ab61b168bd [#1650] Expose externalRef via search filters (#1657)
add option to filter actions using _externalref_ property

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-19 17:23:56 +02:00
Avgustin Marinov
a30ec4441e Add lombok config file (#1656)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-19 16:29:33 +02:00
Avgustin Marinov
bf1c7df52e [#1650] Expose externalRef via REST API (#1655)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-19 16:21:18 +02:00
Avgustin Marinov
1d981802f4 Remove TestHelper (#1654)
in favor of placing implicitLock helpers into AbstractJpaIntegrationTest
as it is done in rest tests

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-19 14:57:53 +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
9e76223a91 [#1580] Software Module & Distribution Set lock: implicit (#1649)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-18 23:01:55 +02:00
Avgustin Marinov
94576bd6fe [#1580] Software Module & Distribution Set lock: apply (#1648)
forbid software modules / artifacts modification for locked distribution
sets / software modules respectively

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-15 15:56:01 +02:00
Avgustin Marinov
5c38af2772 [#1580] Software Module & Distribution Set lock: add lock at rest level (#1647)
+ tests added

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-15 13:28:01 +02:00
Avgustin Marinov
850fa3507f [#1580] Software Module & Distribution Set lock: add lock at rest level (#1646)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-15 11:46:06 +02:00
Avgustin Marinov
e535420065 [#1580] Software Module & Distribution Set lock: add lock at mgmt level (2) (#1645)
* Added to management intefaces (+ tests)

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-15 10:35:25 +02:00
Avgustin Marinov
23ad6a140f [#1580] Software Module & Distribution Set lock: add lock at mgmt level (#1644)
Additionally,

* removed DistributionSet.getAutoAssignFilters and
* removed SoftwareModule.getAssignedTo both are not used and exposed via Mgmt API.

Maybe, if needed, they could be returned back along with exposing them via Mgmt API.

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-15 09:20:48 +02:00
Avgustin Marinov
9bc0e74f47 [#1580] Software Module & Distribution Set lock: add lock at db level (#1643)
1. add _locked_ column in the tables
2. add _locked_ field to the JPA entities
3. add lock set/get at JPA level (with lock DS checking for complete)
4. along with that little reordering of code is made to make it more structured

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-14 20:59:34 +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
0a01a23a60 Simple UI: Fix NPE on missing description (#1637)
and add security target token in view

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-12 16:23:21 +02:00
Avgustin Marinov
bd84444c5e Simple UI: Fix rollout and rollout group status (#1636)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-09 17:00:49 +02:00
Avgustin Marinov
8446929e3b Simple UI: Add support for dynamic rollouts (#1635)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-09 16:32:59 +02:00
Avgustin Marinov
ab10b67d4e Fix lombok toString to call super where needed (#1634)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-09 13:00:12 +02:00
Avgustin Marinov
669f50a4f7 Fix MgmtBaseEntity deserialization (#1633)
Before REST refactoring MgmtBaseEntity was able to deserialize fields
like createdBy. After refactoring, with READ_ONLY access it was dropped
and these fields become null. While this could be a good change, it is
not backward compatible (is that needed) and most importantly will lead
to the fact that Feign client won't be able to access that
data. So, at least for now, I return deserialization back

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-09 12:51:02 +02:00
Avgustin Marinov
0c14e6e05d Fix log in DDI Root Controler (#1632)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-09 08:58:02 +02:00