Commit Graph

1233 Commits

Author SHA1 Message Date
Avgustin Marinov
82bbb2a553 Fix rollout handler all metric (#2730)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-09 11:02:55 +03:00
Avgustin Marinov
4ba09f127e Add DistributionSetManagementTest and TargetTypeQueryManagementTest (#2727)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-08 16:53:37 +03:00
Avgustin Marinov
e23d2aa920 Add DeploymentManagement ACM test (#2726)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-08 11:07:15 +03:00
Avgustin Marinov
cc36ca8801 Fix EntityMatcher when for Identifiable.getId (#2724)
* Fix EntityMatcher to process properly filters of type targetType.id - to resolve correctly the getter return type Long not T
* Add AutoAsssignTest access control test
* Simplify rest of the ACM tests

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-07 15:26:04 +03:00
Stanislav Trailov
0134a67241 Try to fix flaky Rollout mgmt test (#2716)
Signed-off-by: strailov <Stanislav.Trailov@bosch.io>
2025-10-02 18:03:42 +03:00
Avgustin Marinov
cf89861f1e Fix Sonar Findings - add @Override (#2712)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-01 09:15:14 +03:00
Avgustin Marinov
ccecf9b8d6 Rename READ_SOFTWARE_MODULE_DOWNLOAD to READ_SOFTWARE_MODULE_ARTIFACT (#2710)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-30 16:13:41 +03:00
Avgustin Marinov
4b98d89ab0 Remove deprecated DOWNLOAD_REPOSITORY_ARTIFACT permission (#2709)
use READ_SOFTWARE_MODULE_DOWNLOAD

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-30 15:40:15 +03:00
Avgustin Marinov
4715278ee5 Sonar Findings (#2708)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-30 09:30:23 +03:00
Avgustin Marinov
3714d408d0 Cleanup QL parse and tranform API (#2707)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-29 16:36:41 +03:00
Avgustin Marinov
e747d55a38 Fix EntityMatcher case sentsitivity config (#2706)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-29 15:08:21 +03:00
Avgustin Marinov
ebfaa1d51e Fix sonar findings (#2705)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-29 13:19:08 +03:00
Avgustin Marinov
a2929757d8 Encapsulate time overdue into VirtualPropertyResolver (#2704)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-29 13:14:40 +03:00
Avgustin Marinov
1919af4a9d Remove VirtualPropertyReplacer (#2701)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 17:17:38 +03:00
Avgustin Marinov
1954fbe829 Add simple value support for default query parser mapping (#2700)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 17:09:42 +03:00
Avgustin Marinov
a6867219b1 Remove FieldValueConverter (#2699)
* (because) used only for ActionFields.STATUS
* could be part of new Node mapping mechanism
* simplify
* Deprecate ActionFields.STATUS, add / replace it with ActionFields.ACTIVE. In future STATUS will become the real action status (and DETAILSTATUS will be removed)
* Deprecate MgmtAction.getStatus add / replace it with MgmtAction.isActive. In future status will become the real action status (and detailStatus will be removed)

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 16:57:10 +03:00
Avgustin Marinov
1abfa0a2f4 Add support for plugable QL for EntityManager (#2698)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 15:39:21 +03:00
Avgustin Marinov
4434484d35 Deprecate VirtualPropertyReplacer (#2697)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 14:56:32 +03:00
Avgustin Marinov
b181b66ee5 Extend Query Langage Support (#2696)
* add option for parser replacement - so, one could replace the query language and don't use RSQL
* add easy way to modify query root Node 
* add easy Node modification utilities
* code refactored and naming more 'QL' than 'RSQL' oriented

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 14:19:25 +03:00
Avgustin Marinov
c906c2f2eb Type Access Controllers enabled by default if AC is enabled (#2694)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-25 16:53:19 +03:00
Avgustin Marinov
c20ee8bdf3 Fix fine-grained permissions config (#2688)
* disabled by default
* evaluaton context considers fine-grained only when acm is enabled

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-24 09:40:27 +03:00
Avgustin Marinov
e7765bf4d2 Add suppor for deeper RSQL search (#2682)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-23 17:15:48 +03:00
Avgustin Marinov
b702ea41d1 Implement Action Access Control (#2687)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-23 13:31:17 +03:00
Avgustin Marinov
9ab0a8628e First level suppor for RsqlQueryFields shortcut support (#2686)
* now it is possible to have a showrtcut for a sub attributes (i.e. calling it directly with enum name, e.g. type -> type.key) with directly specifying the defaultSubEntityAttribute
* no need to have single sub attribute in order to have a default sub attribute
* added TYPE search field for TargetFields (sinonim of targettype)
* targettype is deprecated - to be decided if and when to be removed
* returned back "type" direct search (with meaning type.key) for DistributionSet and SoftwareModule as non-depricated
* add serche with "type" as type.key for Target

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-23 10:56:26 +03:00
Avgustin Marinov
117f2bf683 Fix Sonar Findings (#2683)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-19 16:01:57 +03:00
Avgustin Marinov
8bdcc51985 Add actions contxt management (#2680)
* based on TARGET permissions - action is accessible iff it its target is accessible
* add some more (id) serch fields
* (backward incompatible) software module search supports now search by name (type.name) and the old search by type (indead by type key) is now with type.key

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-19 15:47:20 +03:00
Avgustin Marinov
dce133dfae Add some id based searches and software module search by type (#2681)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-19 15:45:43 +03:00
Avgustin Marinov
e19b11290d Fix Sonar Findings (#2679)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-19 10:25:18 +03:00
Avgustin Marinov
7980b5defb Remove Java security context serialization (#2677)
Remove Java security context serialization - it is replaced by JSON security context serialization (optimized as size). Backward incompatible change.
Java security context serialization was not used in default hawkbit runtime out of the box. So, it's assumed none uses it. 
Anyway, if anyone has enabled it, he could, in order to keep backward compatibility, get the java security context serialization from the previous hawkbit releases/commits and register it again as a spring bean in his hawkbit extension.

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-18 14:46:51 +03:00
Avgustin Marinov
4444fc92bc Finalize and polish fine-grained permission (Follow up) (#2676)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-18 12:02:40 +03:00
Vasil Ilchev
20768a550c Sync property naming convention (#2664)
Co-authored-by: vasilchev <vasil.ilchev@bosch.com>
2025-09-10 14:55:51 +03:00
Avgustin Marinov
2d45e2a76c Fix Json serializer defaults (#2663)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-10 10:56:19 +03:00
Avgustin Marinov
ae3a004da0 Finalize and polish fine-grained permission (#2660)
* Remove _REPOSITORY_ permissions -> replaced with _SOFTWARE_MODULE_, _SOFTWARE_MODULE_TYPE_, _DISTRIBUTION_SET_, _DISTRIBUTION_SET_TYPE_ permissions
* Still kept _ROLE_REPOSITORY_ADMIN_ role granting all repository fine-graned permissions
* Added dedicated _TARGET_TYPE_ permission set - the _TARGET_ permissions just grant _READ_TARGET_TYPE_ (analogically _SOFTWARE_MODULE_ permissions grant _READ_SOFTWARE_MODULE_TYPE_ and _DISTRIBUTION_SET_ grants _READ_DISTRIBUTON_SET_TYPE_
* Hierarcy is not configurable - could be completely replaced by setting spring application property org.eclipse.hawkbit.hierarchy or could be extended by adding rules using org.eclipse.hawkbit.hierarchy.ext

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-09 15:42:11 +03:00
Avgustin Marinov
1f71e01318 Implement JSON security context serializer (new default) - smaller info and human readable (#2652)
keeps backward compatibility by being able to fallback to JAVA_SERIALIZATION

+ fix DMF messages with status code

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-05 13:35:45 +03:00
Avgustin Marinov
2c995b3665 Add fine grained sm/ds type permission (#2649)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-04 15:05:32 +03:00
Avgustin Marinov
2e97d67489 Small Artifact storage refactoring (#2648)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-03 17:05:59 +03:00
Avgustin Marinov
59cb320fcc Get rid of artifactRepository naming of ArtifactStorage (#2645)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-03 11:55:14 +03:00
Avgustin Marinov
0e5f1d6526 Fix ArtifactStorage availability in tests (#2644)
After renaming of LocalArtifactRepository to ArtifactRepository

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-03 09:29:37 +03:00
Avgustin Marinov
93f7e51565 Rename LocalArtifactRepository to ArtifactRepository (#2643)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-03 08:53:11 +03:00
Avgustin Marinov
2a636328a0 20250828 cleanup (#2639)
* Cleanup

* Refactor artifact management
2025-09-02 16:08:14 +03:00
Avgustin Marinov
4f0a8893c7 Abstract RepositoryManagement test (#2631)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-28 12:58:53 +03:00
Avgustin Marinov
42b0bc06a9 Fix Sonar findings (#2630)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-26 09:32:43 +03:00
Vasil Ilchev
8a2257c1f6 Remove obsolete *ManagementSecuritiyTest classes with manual method tests in favor of new dynamic ManagementSecurityTest (#2620)
Co-authored-by: vasilchev <vasil.ilchev@bosch.com>
2025-08-25 15:24:10 +03:00
Avgustin Marinov
b4edde8cc3 Refactor Management interfaces: find/get pattern (#2609)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-15 16:18:32 +03:00
Avgustin Marinov
fa4dea75a3 Small hawkbit-repository-test refactoring (#2608)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-13 16:41:25 +03:00
Avgustin Marinov
8abf7275c4 Unified secman test (#2606)
* Unified Security Management Test

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

* Add unified ManagementSecurityTest

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

---------

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-13 12:12:16 +03:00
Avgustin Marinov
c5bbbeaac7 Align DeploymentRequestBuilder with the rest of the builders (#2607)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-13 08:58:35 +03:00
Stanislav Trailov
45cd012532 Introduce Stop of a rollout (#2595)
* Stop of a rollout feature

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* remove some test comments

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* make stop transactional

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* attempt to fix hibernate failed tests

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* fix some sonar issues

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* changes after review

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* fix build

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* fixes after review

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* finish all rollout groups on deletion of rollout

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* refactor finishing groups

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* fix RolloutManagementTest

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

---------

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>
2025-08-12 17:13:50 +03:00
Avgustin Marinov
441b78460d Improve Permission Management (#2604)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-12 14:09:27 +03:00
Avgustin Marinov
124fef189e Remove Rollout(Group) builders (#2603)
* Fix entityManager.merge for ds and sm

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

* Remove Rollout(Group) builders

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

* Remove EntityFactory

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

---------

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-11 14:01:03 +03:00