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
29da04f6da
Remove unnecessary API module dependencies ( #2842 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-12-02 13:53:36 +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
80165de06a
[ #2746 ] Add required annotations to MgmtRolloutRestRequestBodyPost ( #2818 )
...
+ amountGroups made optional with default value 1 group
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-18 14:25:32 +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
Avgustin Marinov
7e20900175
Fix polling interval validation error message ( #2798 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-11 12:16:49 +02:00
Avgustin Marinov
5751ed504c
Fix PollingTime parsing to support comma in RSQL ( #2791 )
...
The PollingTime now supports all RSQL filters that doesn't contain '->'
For duration HH:mm:ss and ISO-8601 is supported
For deviation 0-99% are suppported (as before)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-11-03 16:05:22 +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
2d562f64cb
Fix properties change migration scripts ( #2783 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-28 13:18:38 +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
Stanislav Trailov
1b62bee92f
Add update repositopry permission to handleMaxAssignmentsExceeded in deployment management ( #2768 )
...
* 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 >
* Add update repositopry permission to handleMaxAssignmentsExceeded in deployment management
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
---------
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-22 14:54:40 +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
66da13a038
Add option to provide flyway callbacks to db init ( #2764 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-20 14:00:48 +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
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
6ad20252ba
Refactor UserAuthoritiesResolver - to run in tenant context ( #2756 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-14 17:28:57 +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