Commit Graph

15 Commits

Author SHA1 Message Date
Florian BEZANNIER
8d83218dc8 Improve oauth2 (#3014)
* feat: add custom header to oauth2 req

* fix: current.getClass() raise NPE

* fix: use access token instead of id token

* fix: missing dependency

* feat: add oauth2 login from swagger-ui

* docs: update oauth2 configuration
2026-05-11 14:50:47 +03:00
Avgustin Marinov
1be473b22c [#2845] Bump Spring boot to 4.x (#2941)
Notes:
1. (!) Eclipselink shall be migrated to 5.0 (in 4.0.8 there are incompatible classes, e.g EJBQueryImpl doesn't implement some newer methods). In the moment is with beta (5.0.0-B12) - JUST for testing!
2. (!) Ethlo plugin doesn't work with Eclipselink 5.0, it builds with Eclipselink 4.0.8 (could be a problem)
3. Dependencies - new starters, test starters changes, some dependencies refactoring
4. Auto-configs split - package changes, some properties classes changes
5. Spring nullable org.springframework.lang.Nullable/NonNull are depecated and replaced with jspcify -> org.jspecify.annotations.Nullable/NonNull (NullMarked)
6. Lombok config - adding lombok.addNullAnnotations=jspecify - to do not mess annotations
7. Distributed lock table changes - SP_LOCK table db migration
8. Spring Retry replaced with Spring Core Retry - does repace retry in hawkbit
9. Specifications -> added Update/Delete(/Predicate) Specifications and JpaSpecificationExecutor changed
10. HawkbitBaseRepositoryFactoryBean modified to register properly
11. Jackson - 2 -> 3, package migrations, finals are not deserialized by default(enable finals deserialization, consider make non-final), too ‘smart’ tries to set complex objects instead of using non args constructor (-> @JsonIgnore), some other default configs made

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2026-04-14 11:31:41 +03: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
2a636328a0 20250828 cleanup (#2639)
* Cleanup

* Refactor artifact management
2025-09-02 16:08:14 +03:00
Christian Breitwieser
acaec605bd OIDC Authentication/Authorization on Management API (#2386)
* Added Oidc ressource server capabilities to mgmt api to allow users to login via identity provider.

Signed-off-by: ChristianB <christian.breitwieser@blue-zone.at>

* Adress review findings:
 - Code Style fixes
 - Readability improvements

Signed-off-by: ChristianB <christian.breitwieser@blue-zone.at>

---------

Signed-off-by: ChristianB <christian.breitwieser@blue-zone.at>
2025-05-08 11:19:19 +03:00
Avgustin Marinov
76ce1cf052 Cleanup and improve the controller authentication (#2287)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-02-18 15:10:16 +02:00
Avgustin Marinov
99bb88ce55 Remove deprecated REST Mgmt Methods (2) (#2279)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-02-13 14:36:13 +02:00
Avgustin Marinov
d2799f4bbc Move deprecated repository and mgmt rest methods in separate module (#2177)
Some already deprecated management REST methods are moved in separate module (together with used only for them repository api and impl) in order to have cleanly separate deprecatd REST API.
The new module is hawkbit-mgmt-resource-deprecated. It is inculded, by default, in hawkbit-mgmt-stater.
* when we decide to remove the deprecated REST API implementation completely - will be easily remved - just module and refs
* deprecated REST API could be excluded (by removing the module from runtime) even before that for the runtimes.
* after removal, for some time (untill the usad management and repository APIs are compatible) it will be possible to refer (and include) the deprecated method implementation together with the next hawkBit versions.

The deprecated methods are:
* POST /rest/v1/distributionsettags/{distributionsetTagId}/assigned/toggleTagAssignment
* POST /rest/v1/distributionsettags/{distributionsetTagId}/assigned
* POST /rest/v1/targettags/{targetTagId}/assigned/toggleTagAssignment
* POST /rest/v1/targettags/{targetTagId}/assigned

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-01-09 11:04:39 +02:00
Avgustin Marinov
968ed74b37 Move EnableMethodSecurity (#2085)
From MgmtSecurityConfiguration -> MgmtApiConfiguration as more reliable and hard to miss

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-20 09:33:16 +02:00
Avgustin Marinov
f62f9fa97b Move Flyway into separate artifact (#2025)
Now it is not part of the ddi and dmf starters - only mgmt (where could be excluded on packaging)

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-14 11:51:23 +02:00
Avgustin Marinov
7902b89268 Unify artifact names (#2021)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-12 15:09:03 +02:00
Avgustin Marinov
17248a1d54 FileSystem implementation of ArtifiactRepository moved in mgmt and ddi starters only (#2020)
* it's not needed for dmf
* also made optional when not needed (e.g. some JpaArtifactManagement)

_release_notes_

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-12 14:56:59 +02:00
Avgustin Marinov
5182217745 Rename hawkbit-security-intenal -> hawkbit-security-controller (#2015)
as it is controller only related

* DmfTenantSecurityToken renamed to ControllerSecurityToken - as it is such
* hawkbit.security classes from http-security-internal moved to hawkbit.security.controller - as they are such and it is bad practice to have same package in multiple modules

_release_notes_

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-12 12:45:09 +02:00
Avgustin Marinov
c85518be3c Split SecurityManagedConfiguration to mgmt and ddi starters (#2014)
* SecurityManagedConfiguration is moved to hawkbit-rest-core with commons for mgmt and ddi only
* Configurations for DDI and Management API are moved to respective starters
* hawkbit-http-security is removed - DosFilter (as common) is moved in hawkbit-rest-security, rest to the ddi starter as used only there
* some classes are moved into different packages - it is a bad practice to have same packet into multiple artifacts

_release_notes_

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-12 12:06:56 +02:00
Avgustin Marinov
b03985c887 Rename hawkBit boots (#2010)
* hawkbit-boot-starter -> hawkbit-starter
* hawkbit-boot-starter-ddi-api -> hawkbit-ddi-starter
* hawkbit-boot-starter-dmf-api -> hawkbit-dmf-starter
* hawkbit-boot-starter-mgmt-api -> hawkbit-mgmt-starter

_release_notes_

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-12 08:40:09 +02:00