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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
c038c507a9
TargetManagement over RepositoryManagement ( #2599 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-07 17:20: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
Vasil Ilchev
1a4df60c59
Introducing TargetUpdatedServiceEvent, ActionCreatedServiceEvent, Act… ( #2588 )
...
* Introducing TargetUpdatedServiceEvent, ActionCreatedServiceEvent, ActionUpdatedServiceEvent
* Fix ActionServiceEvents with payload annotation and add ActionEvents and ActionService tests to message converters
* Adapted EventVerifier to expect new ServiceEvents
---------
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2025-08-05 10:16:08 +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
a689733d4c
TargetType management over common RepositoryManagement ( #2581 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-08-01 19:24:49 +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
Vasil Ilchev
d666d40e7b
Disable RemoteEvents on build tests ( #2573 )
...
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2025-07-31 08:50:30 +03:00
Avgustin Marinov
08cacf9034
Soft Module metadata as complex map value ( #2568 )
...
---------
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-30 17:29:02 +03:00
Vasil Ilchev
4a8e60764f
Remote Events migrated from Spring Bus to Spring Cloud Stream ( #2563 )
...
* Remote Events migrated from Spring Bus to Spring Cloud Stream
---------
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2025-07-30 16:58:00 +03:00
Avgustin Marinov
10da0288d9
Fix sonar findings ( #2572 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-30 10:13:23 +03:00
Avgustin Marinov
2b66449ff1
Fine grained repository permissions ( #2562 )
...
1. Introduce @PrreAuthorize check based on hasPermission - allowing custom processing (compared with non-modifiable hasAuthority/Role processing)
2. Dedicated permissions could be implemented on management api level. Check is made by plugged in PermissionEvaluator
3. Thus common XXX_REPOSITORY permissions could differ for extending services
4. Change create/update entity builder pattern - not via EntityFactory but via clean static lombok based builders (with fine fluent api).
5. Implement abstract repository management jpa class that handles the boilerplate code from extending classes in single place consistently -> AbsreactJpaRepositoryManagement
6. Register management api-s as **Sevice**-s instead of **Bean**-s in order to make easier maintainable and get away from heavy argument forwading
7. Simplify custom hawkbit repository registration + adding proxy to handle exception mapping at lower level - thus not depending on Aspects for converting exceptions
8. Implemented general purpose 'copy' utility (ObjectCopyUtil) that using getter/setter patterns is able to copy (e.g. Create/Update) objects to other objects (e.g. JPA entity objects)
2025-07-28 14:57:33 +03:00
Avgustin Marinov
a34364bc3e
Make allAuthorities unmodifiable ( #2551 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-15 13:29:20 +03:00
Avgustin Marinov
e7373275bf
Add distribution set and target type fine grained permissions ( #2545 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-14 14:52:36 +03:00
Avgustin Marinov
7ffd64c6da
Fix tenant in TestdataFactory#rolloutHandleAll ( #2543 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-11 12:45:05 +03:00
Avgustin Marinov
21581c4ea4
Fine-grained permissions ( #2535 )
...
* Fine-grained permissions
Adds support for permissions of type <permission>(/<rsql filter scope>)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
* Apply review fixes
---------
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-10 13:51:49 +03:00
Avgustin Marinov
edd6dabb90
Move artifact encryption to hawkbit-artifact-api where it does belong ( #2540 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-10 11:57:44 +03:00
Avgustin Marinov
8c6d56f177
Make some test timeouts (await) configurable ( #2525 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-02 12:45:26 +03:00
Avgustin Marinov
affae1026a
Improve Spring Bus usage (remove stream direct use) ( #2521 )
...
* Improve Spring Bus usage (remove stream direct use)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
* Remove getApplicaton when creating remote events
---------
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-02 08:32:55 +03:00
Avgustin Marinov
044963f84c
Implement release as github action ( #2452 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-16 14:43:17 +03:00
Avgustin Marinov
2992f5c211
Refactor management api style ( #2445 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-10 17:09:03 +03:00
Avgustin Marinov
64ee8b9906
JpaSoftwareModule#metadata made map ( #2412 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-21 16:59:25 +03:00
Avgustin Marinov
452d8618d7
JpaDistributionSet#metadata made Map ( #2411 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-21 13:45:18 +03:00