Avgustin Marinov
64bdced682
Tune/fix action cleanup tenant properties ( #2782 )
...
* actions.cleanup.onQuotaHit.percent -> action.cleanup.onQuotaHit.percent
* action.cleanup.enabled - removed - instead enabled / disable <=> expire < / >= 0
* action.cleanup.actionExpiry -> action.cleanup.auto.expiry and action.cleanup.auto.status - so both are under action.cleanup.auto, and differentiate from on quota hit
* auto db convert of props with one backward incompatibility - if you had action.cleanup.enabled=true and not set action.cleanup.actionExpiry (assuming default 30 days) - auto cleanup will be disabled
you should set action.cleanup.auto.expiry=2592000000 in order to get the old behavior
* Note that if you have configured global action cleanup the properties are changed also this config you shall change manually
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-28 12:40:37 +02:00
Avgustin Marinov
60d6604eff
Fix limited DS complete filtering when and becomes comparison ( #2780 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-28 11:27:06 +02:00
Avgustin Marinov
dc8211c64b
Fix case sensitiveness of limited DS complete search support ( #2774 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-24 10:58:47 +03:00
Avgustin Marinov
3caa9d9eda
Switch completely to locked for checking if DS could be functionally modified ( #2766 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-22 11:46:36 +03:00
Avgustin Marinov
e154e1b18a
[ #2429 ] Add completeness property for software modules ( #2765 )
...
* add `min artifacts` requirement on the Software Module Type level for Software Module completeness
* removed `complete` Distribution Set property from DB - calculated runtime
* Distribution Set and Software Module completeness is calcualted on demand in memory (TODO: implement cache)
* locking of Software Module now requires the software module to be `completed`
* removed 'complete' search field for DistributionSet type. Still keep (DEPRECATED) limited support for search with 'complete' -
only on the first level of expression and with AND. I.e. complete==true, complete==false and id=in=(1, 3) is suppoted,
while complete==false or id=in=(1, 3) and id=in(1, 3) and (type==os and complete==true) are not
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-22 09:57:45 +03:00
Stanislav Trailov
f1c3d0175e
Action history cleanup/purge initial ( #2728 )
...
* Action history cleanup/purge initial
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* apply changes after review
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix hibernate build by annotating delete methods with transactional annotation
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* changes after review and new test cases for new requirements
* accept 0 for keep last
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* Fix ManagementSecurityTest
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* apply object utils check
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix for oldestAction deletion
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* remove unused comment
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* rename action ids variable
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* Fix access control handling
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
---------
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
Co-authored-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-21 10:34:58 +03:00
Avgustin Marinov
b10955f3eb
Remove System Management REST ( #2761 )
...
* the only non repository module using @PreAuthorize
* the only service for "sys admins" - it's a little bit out of scopes
* caches management is not supposed to be via REST
* delete tenant shall not be provided when we don't have create
* metrics shall be reported via metrics colectins services, or db
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-17 10:45:11 +03:00
Florian BEZANNIER
98b4fdc8f7
Fix claims NPE ( #2725 )
...
* fix: npe when current claims is null
eror was Object.getClass()" because "current" is null
* style: fix
2025-10-15 14:22:42 +03:00
Avgustin Marinov
811b163d22
Optimize get targets via REST API ( #2757 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-15 14:08:58 +03:00
Avgustin Marinov
741add9f21
Add deprecation log utility - easy way to log usage of deprecated methods ( #2741 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-10 12:58:49 +03:00
Avgustin Marinov
3447ac3b1b
Fix system context resolving in ACM ( #2737 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-10 12:02:16 +03:00
Avgustin Marinov
9fb84e2d69
Add MgmtActionResource call log - upcoming deprectaion / changes ( #2715 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-02 11:40:56 +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
ebfaa1d51e
Fix sonar findings ( #2705 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-29 13:19:08 +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
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
1a44acf503
Fix role hierarchy (missing new line) ( #2689 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-24 10:12:26 +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
e19b11290d
Fix Sonar Findings ( #2679 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-19 10:25:18 +03:00
Florian Kromer
ade9904d21
fix: maxAssingments required property in MgmtSoftwareModuleTypeRequestBodyPost ( #2671 )
...
resolves #2669
2025-09-16 10:51:29 +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
dd5f12d8c5
Fix MgmtTargetTypeResourceTest.getTargetTypesWithoutPermission ( #2659 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-09 09:23:09 +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
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
42b0bc06a9
Fix Sonar findings ( #2630 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-26 09:32:43 +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
Stanislav Trailov
5b299e0a62
Allow to filter actions by createdAt and lastModifiedAt timestamp ( #2546 )
...
* Allow to filter actions by createdAt and lastModifiedAt timestamp
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* add filtering options for created at/by & lastmodified at/by for all entities
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* Unify ActionStatusFields like other field filters
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix tests accordingly
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* only deprecate reportedAt filter option
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
---------
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
2025-08-12 08:18:24 +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
Avgustin Marinov
861483f0d6
Fix entityManager.merge for ds and sm ( #2602 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-08 16:39:18 +03:00
Avgustin Marinov
bff77ac224
Cleanup TargetManagement ( #2601 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-08 13:13:28 +03:00
Avgustin Marinov
5217297c24
Fix Sonar findings ( #2600 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-08 10:33:17 +03:00
Avgustin Marinov
c038c507a9
TargetManagement over RepositoryManagement ( #2599 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-07 17:20:22 +03:00
Avgustin Marinov
08ff739bbe
Fix DS Type update to do not remove mandatory/optional module types ( #2598 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-07 14:29:54 +03:00
Avgustin Marinov
b3e32c14b6
Fix Sonar Findings ( #2596 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-07 09:27:52 +03:00
Avgustin Marinov
e2805fd386
Refactor SofrwareModule Management ( #2594 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-05 17:26:22 +03:00
Avgustin Marinov
6aa8ccaa9c
Refactor DS Management ( #2591 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-05 15:45:41 +03:00
Avgustin Marinov
7b24981a1d
Implement TargetFilterQueryManagement with AbstractJpaRepositoryManagement ( #2587 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-05 09:53:24 +03:00
Avgustin Marinov
43f717fc8d
Improve JsonBuilder's ( #2585 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-04 12:54:12 +03:00
Avgustin Marinov
a689733d4c
TargetType management over common RepositoryManagement ( #2581 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-01 19:24:49 +03:00
Vasil Ilchev
c79e35b9de
Fix not overriding cloud stream properties ( #2582 )
...
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2025-08-01 18:15:56 +03:00
Avgustin Marinov
fd9c0fc50d
Implement target tag management using common RepositoryManagement (and abstract JPA impl) ( #2580 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-01 13:41:20 +03:00