Avgustin Marinov
d55f1ffa10
Refactor @ApiResponses annotations ( #2879 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2026-01-22 09:10:10 +02:00
Vasil Ilchev
0083d5538a
Introduce Pause Success Action ( #2867 )
...
* Introduce Pause Success Action
Signed-off-by: vasilchev <vasil.ilchev@bosch.com >
* Instead of overriding SuccessAction, trigger next group from resume rollout
Fix Rollout Mgmt Resource to accept new Pause Action
Signed-off-by: vasilchev <vasil.ilchev@bosch.com >
* Review findings
Signed-off-by: vasilchev <vasil.ilchev@bosch.com >
* Remove unused import
---------
Signed-off-by: vasilchev <vasil.ilchev@bosch.com >
2026-01-13 11:20:21 +02:00
Stanislav Trailov
3bc8a91883
Fix tenant scope on retrieval of target groups ( #2847 )
...
* Fix tenant scope on retrieval of target groups
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix build
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
---------
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
2025-12-10 09:37:38 +02:00
Stanislav Trailov
e6367d0b0c
Remove schema generation related annotations in Jpa layer ( #2837 )
...
* Remove schema generation related annotations in Jpa layer
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* Update hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaAction.java
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* forgotten foreign key annotations removed
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* remove missed foreign key annotations
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* foreign key from autoConfirmation
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
---------
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-08 09:26:35 +02:00
Avgustin Marinov
904c8b180d
Align rollouts and autoassign metrics ( #2844 )
...
* Refactor auto-assign locking and metrics
* Align rollouts and autoassign metrics
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-12-03 12:34:40 +02:00
Vasil Ilchev
977b3fe40c
AutoAssign scheduler to obtain lock on Tenant level. Configurable to run separate tenant auto-assign checks in separate threads ( #2843 )
...
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2025-12-02 15:40:55 +02:00
Avgustin Marinov
6988f5eafb
Fix nop cache using (especially for testing) ( #2841 )
...
+ fix flaky tests that requires no caches
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-12-01 13:53:08 +02:00
Avgustin Marinov
b8a05e3cbf
Refactor tenant configuration management ( #2840 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-28 15:37:12 +02:00
Avgustin Marinov
203598f3a4
Fix auth -> authentication in some props in SDK ( #2839 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-28 09:13:41 +02:00
Avgustin Marinov
42384b7e31
Add AccessContext.asTenant and use where possible ( #2838 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-27 16:27:56 +02:00
Avgustin Marinov
f6f62db0ad
Refactor hawkbit core and security ( #2833 )
...
* Refactor hawkbit core and security
* improve access to the base core features - static
* thus easiear access
* and less boilerplate passing of instances
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
* Refactor context classes
* make JSON context serialization default
* AccessContext
* Split hawkbit-security-core to other modules and remove it
---------
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-27 13:07:49 +02:00
Vasil Ilchev
a7b851778e
Fix sonar findings ( #2832 )
...
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2025-11-24 17:13:13 +02:00
Avgustin Marinov
f574d6d2be
Fix hawkbit-ql-jpa dependency ( #2820 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-18 15:57:25 +02:00
Avgustin Marinov
fb69372ed5
Remove commons-text dependency ( #2817 )
...
And thus fix vulnerability that it brings. Also decrease dependencies.
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-18 13:27:14 +02:00
Stanislav Trailov
4e3ee68630
Fix auto cleanup actions configuration value on set ( #2805 )
...
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
2025-11-18 11:14:29 +02:00
Avgustin Marinov
20bb41c51c
Move rollout executor related target management methods in executor ( #2812 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-18 08:44:35 +02:00
Avgustin Marinov
c5ea265e0f
Extract QL support in a top level module ( #2808 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-14 14:19:36 +02:00
Avgustin Marinov
f9d0e39e6b
Fix RsqlTargetFieldTest ( #2807 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-13 17:39:35 +02:00
Avgustin Marinov
7e4cc45315
Refactor maven modules ( #2806 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-13 17:24:27 +02:00
Avgustin Marinov
978a2ab745
Remove legacy RSQL to Specification builders ( #2801 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-13 14:38:32 +02:00
Avgustin Marinov
62139055b0
Remove deprecated ( #2800 )
...
* ActionFields.DETAILSTATUS removed and replaces with STATUS (so status is with changed semantic - not active but real status)
* MgmtAction.detailStatus removed and replaced with status (so status is with changed semantic - not active but real status)
* MgmtTargetTagRestApi.assignTargetsPut removed - use POST method
* ActionStatusFields.REPORTEDAT deprecation removed - it is a synonym of CREATEDAT but is part of timestamp/reported aspect while createdat is part of creted at/by
* MgmtDistributionSetRequestBodyPost.os/runtime/application is removed
and
* ActionStatusFields.TIMESTAMPT added
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-13 13:39:03 +02:00
Vasil Ilchev
3ee042447c
Fix RolloutManagementTest ( #2790 )
...
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2025-10-31 09:09:21 +02:00
Avgustin Marinov
b658f95466
Rename ACTION_PURGE_PERCENTAGE_ON_QUOTA_HIT to ACTION_CLEANUP_ON_QUOTA_HIT_PERCENTAGE - to match real value ( #2787 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-29 08:44:54 +02:00
Avgustin Marinov
edc6363f20
Fix JpaDistributionSet sp_idx_distribution_set_01 index - remove complte ( #2785 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-28 16:56:51 +02:00
Avgustin Marinov
aff871f988
Add cache for SoftwareModule, DistributionSet and Target types ( #2784 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-28 15:38:59 +02:00
Avgustin Marinov
d488ad6b5f
Refactor caches ( #2775 ) ( #2777 )
...
* TenantAwareCacheManager define CacheEvictEvent which could be used to evict entities in general way
* JpaTenantConfigurationManagement start using genera cache approach
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-28 14:13:53 +02:00
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
46c0c4aeaf
Move default TenantResolver registration in hawkbit-core ( #2778 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-28 08:33:50 +02:00
Avgustin Marinov
98daa696de
Refactor caches ( #2775 )
...
* added static usage of cache in order access it easier
* added mandatory (in hawkbit-core) registration - always tenant aware caches shall be used - hawkbit depends on it
* added per cache and tenant name configuration
* (not really realted to caches) but in order to be easier evicted entities after commit handlers are now statically accessed
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-24 16:42:40 +03: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
a3cf835ae2
Fix sonar findings ( #2769 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-22 15:12:37 +03:00
Avgustin Marinov
8a36ba6203
Fix action delete access control - to require only target update (not delete also) ( #2767 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-22 13:33:56 +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
4b3c3cc870
Remove org.eclipse.hawkbit.repository.jpa.specifications.SpecificationsBuilder and fix deprecated Specification.where ( #2760 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-16 16:01:29 +03:00
Avgustin Marinov
8da851a75a
[ #2758 ] Add test for JpaTargetManagment - findByTargetFilterQueryAndNonDSAndCompatibleAndUpdatable ( #2759 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-16 15:29:18 +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
04cd9fb30d
Refactor TenantAware - remove TenantRunner and replace with standard Runnable / Callable ( #2755 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-14 16:36:42 +03:00
Avgustin Marinov
b390a0f8ef
Fix sonar findings ( #2742 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-10 14:32:09 +03:00
Avgustin Marinov
ebc3755469
Fix ACM tests ( #2739 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-10 12:58:59 +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
e7d9ee7990
Add Target(Type)Management tests ( #2735 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-10 08:36:08 +03:00
Avgustin Marinov
39ab8275bc
Add SM and SM type ACM tests ( #2734 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-09 13:50:03 +03:00
Avgustin Marinov
9a70fffeb5
Simplify/Refactor RolloutExecutor ACM test ( #2733 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-09 12:48:05 +03:00
Avgustin Marinov
bc96c24983
Add RolloutManagement ACM test ( #2732 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-09 12:29:28 +03:00
Avgustin Marinov
95e37268bd
Add Rollout Execution ACM Test ( #2731 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-09 12:29:20 +03:00
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