Commit Graph

2819 Commits

Author SHA1 Message Date
Avgustin Marinov
ddaa04c433 SDK DMF Support Initial draft (#1706)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-04-11 09:03:15 +03:00
Vasil Ilchev
4dc3758b55 Fix sonar complains (#1705) 2024-04-10 18:35:20 +03:00
Avgustin Marinov
4c9ee2e364 Remove unused fields from JpaDistributionSet (#1704)
These fields also could lead to big memory usage if the JPA provider doesn't get LAZY hint

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-04-10 14:01:31 +03:00
Avgustin Marinov
718c7381f4 Fix outdated (and maybe wrong) jpa related properties (#1702)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-04-09 13:53:12 +03:00
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