Commit Graph

282 Commits

Author SHA1 Message Date
Avgustin Marinov
c38f28d5a7 Upgrades spring to 3.4.0 (#2154)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-12-20 11:30:51 +02:00
Avgustin Marinov
db3ac7f2dd Hibernate support (#2147)
* Hibernate support

---------

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-12-16 16:08:07 +02:00
Avgustin Marinov
4b58e027fa Replace ethlo with hibernate jpamodgen (#2112)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-12-02 16:51:03 +02:00
Avgustin Marinov
849ea24632 Security artifacts moved in hawkbit-security-parent (#2016)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-12 12:50:36 +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
32acb44e31 Artifact modules moved in new hawkbit-artifact parent (#2012)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-12 09:40:44 +02:00
Avgustin Marinov
d1c2c4f211 Move monolith server in hawkbit_monolith (with monolith starter) (#2006)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-11 16:28:10 +02:00
Avgustin Marinov
ef216840a7 Move Simple UI at root level (#2005)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-11 16:13:08 +02:00
Avgustin Marinov
baab2fcf95 Move Mgmt artifacts into hawkbit-mgmt (#2003)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-11 15:57:56 +02:00
Avgustin Marinov
05d8d6cc7e Moves DDI artifacts into a dedicated directory/artifact parent (#2002)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-11 15:11:07 +02:00
Avgustin Marinov
6867b8eac0 Move spring-boot-starter-test and alure to root (#1973)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-08 16:25:19 +02:00
Avgustin Marinov
7aa53af5ae Skip verify github action on site only changes (#1960)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-07 11:48:24 +02:00
Avgustin Marinov
d842bc2aaa Code format hawkbit (#1948)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-11-05 11:41:56 +02:00
Avgustin Marinov
7918f39cd5 Spring boot 3.3.5 (#1914)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-25 07:43:59 +03:00
Avgustin Marinov
64771e9f4e Tune code formatter and add IntelliJ version (#1910)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-22 18:03:36 +03:00
Avgustin Marinov
b016e40b56 Remove old sonarcloud project reference (#1877)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-08 15:57:36 +03:00
Avgustin Marinov
fa50985fba Remove circleci leftover (#1859)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-04 12:55:28 +03:00
Avgustin Marinov
7ca5cbe1aa Switch from eclipse/hawkbit to eclipse-hawkbit/hawkbit github (#1852)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-04 10:21:03 +03:00
Avgustin Marinov
d3c3a3e12a Spring Boot 3.3.4 (#1848)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-27 17:14:47 +03:00
Avgustin Marinov
de576a047a Bump spring version to 3.3.3 (#1826)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-27 13:20:24 +03:00
Avgustin Marinov
af05adcf2c Downgrade eclipselink 4.0.4 to 4.0.3 because of a bug (#1804)
https://github.com/eclipse-ee4j/eclipselink/issues/2219

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-08 14:49:15 +03:00
Avgustin Marinov
2f2dbf1d2b Bump dependency versions (#1799) 2024-08-02 12:20:32 +03:00
Avgustin Marinov
06c06bcd8f Fix Sonar findings (#1779)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-23 12:06:39 +03:00
Avgustin Marinov
bb288eab6b Remove guava dependency (#1776)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-17 15:48:24 +03:00
Avgustin Marinov
a021de5829 Improve base pom structure (#1774)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-17 14:30:36 +03:00
Avgustin Marinov
297775f539 Migrate to Spring Boot 3.3.1 (#1751)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-21 14:49:10 +03:00
Avgustin Marinov
6022009525 [#1740] Migrate to Spring Boot 3.3.0 (#1743)
1. Migrate Spring Boot to 3.3.0
2. Upgrade some other dependencies
3. Update Dockerfile-s regarding deprecated -Djarmode=layertools extract

Follow: [Spring Boot 3.3 Release Notes](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.3-Release-Notes)

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-06 10:43:11 +03:00
Avgustin Marinov
a6a2014ad3 Bump to Spring Boot 3.2.6 (#1739)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-05-29 12:19:33 +03:00
Avgustin Marinov
bf99ae37ad Bump spring boot to 3.2.5 (#1720)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-04-22 09:18:55 +03:00
Avgustin Marinov
03d3c3ba7b Bump spring version to 3.2.3 (#1695)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-26 08:58:43 +02:00
Avgustin Marinov
cdd76c8318 Upgrade dependency versions (#1688)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-15 13:09:46 +02:00
Avgustin Marinov
3b6570bca6 Introduce inital draft of hawkBit SDK (#1638)
Intends to provide a Java SDK facilitating:
* development of back-end integrations using mgmt api (including UI-s)
* development of java based high-end devices (which could run Spring apps) to communicate with hawkBit via DDI API
* implementation of demo/test cases using device & management SDK

Status: initial draft
 - Feign client did & management API - done
 - Hal/HATEAOS Support - works (including in non-web apps)
 - device communication works when no software updates (e.g. pulling software base)
 - demo for single and multiple devices simulation (including management API uses)
 - TODO - fix software update flows
 - TODO - provide more integration points for developers to interact with device SDK

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-12 16:30:22 +02:00
Avgustin Marinov
bce69676d2 Reduce dependency on Guava (#1589)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-02 22:21:46 +02:00
Avgustin Marinov
0ee916e8cb Improve root pom readability (#1588)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-02 19:03:05 +02:00
Avgustin Marinov
94ed1f8133 Bump spring to 3.2.2 (#1584)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-02 16:40:07 +02:00
Avgustin Marinov
2d9413fa99 Rollback .flattened-pom.xml cleanup on install - needed on deploy (#1583)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-02 16:29:40 +02:00
Avgustin Marinov
41a3095a10 Remove .flattened-pom.xml on install (#1581) (#1582)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-02 15:25:07 +02:00
Avgustin Marinov
d95a4123fa Remove .flattened-pom.xml on install (#1581)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-02 15:18:13 +02:00
Avgustin Marinov
53196ef680 Fix 2023 contributors license in pom.xml (#1573)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-30 10:41:47 +02:00
Avgustin Marinov
4ded7deeb2 Remove outdate jose dependency (#1571)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-30 10:16:59 +02:00
Avgustin Marinov
d3cab9a326 [#1383] Spring Boot 3 migration Step 2: fix swagger (#1566)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com
2024-01-26 15:41:43 +02:00
Avgustin Marinov
7440d90f59 [#1383] Spring Boot 3 migration Step 2 (#1559)
* [#1383] Spring Boot 3 migration Step 2

Some of the steps:

1. Change spring version parent and versions in root pom.xml
2. update eclipselink versions
3. javax.annotation -> jakarta.annotation (*.java)
4. javax.persistence -> jakarta.persistence (*.java)
5. javax.servlet -> jakarta.servlet (*.java, pom.xml)
6. javax.validation:validation-api -> jakarta.validation:jakarta.validation-api (pom.xml)
7. javax.validation -> jakarta.validation (*.java)
8. javax.transaction -> jakarta.transaction (*.java)
9. replace spring-cloud-stream-binder-test (hawkbit-repository-test) with
```
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-stream-test-binder</artifactId>
</dependency>
```
, TestSupportBinderAutoConfiguration.class }) -> })
@Import(TestChannelBinderConfiguration.class)
10. Set to Simple UI standard parent
11. requestMatchers to securityMatcher
12. @SpringBootApplication(scanBasePackages = "org.eclipse.hawkbit") (otherwise for instance flyway doesn't work - suffix is default ".sql", not H2.sql and don't differentiate dbs? strange is there a change?)
13. @NonEmpty for Long leads to validation exception - replaced with @NotNull
14. RSQLUtilityTest.correctRsqlBuildsPredicate - fixed - mock query builder add method
15. https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#spring-mvc-and-webflux-url-matching-changes - aliases as targers/ return 404 - remove trailing slash
16. firewall tests (allowedHostNameWithNotAllowedHost) doesn't throw 'rejected exception' but return 400 instead (as probably is expected anyway)

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com

* Fix tenant listing to do not mix with multitenancy

Tenant metadata is not multitenancy aware while depend on distribution set type
which is. Thus querying all tenant metadata (in non tenant context) sometimes leads to
resolution of distribution set type which is tenant scoped and leads to problems.

So, now listing tenant lists just their ids - not fill entities.

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-20 15:57:17 +02:00
Avgustin Marinov
e61dde56f0 [#1510] Remove Vaadin v8 UI: Remove Config & Plugins (#1557)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-19 14:09:14 +02:00
Avgustin Marinov
d9481ed43f [#1510] Remove Vaadin v8 UI: Remove Libs (#1554)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-19 12:34:42 +02:00
Avgustin Marinov
12ec3eae4d Switch to revision 0-SNAPSHOT (#1551)
Now there is no necessity to change revision on every relase
Note: when release docker images from nexus repo - version shall always be passed

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-18 16:37:38 +02:00
Avgustin Marinov
f2a4f6f591 Rename docs to site (#1550)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-18 15:31:20 +02:00
Avgustin Marinov
d15bcce8d2 Remove docker properties from pom (#1549)
(Example) Docker images are build using Dockerfiles

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-18 15:21:10 +02:00
Avgustin Marinov
7768e543fd [#1548] Add support for dynamic rollouts (#1533)
* [#1548] Add support for dynamic rollouts

-- Current status --

Initial draft only !!!, to be improved

TODO:
 * evaluate the target count - if update group/rollout total count fails dynamic updates could (?), actually, contain more targets
 * is it needed to break handler on group creating?
 * if dynamic group schedulers occur to be heavy - maybe a handler per tenant will ensure that one tenant won't break all

*Concept for dynamic groups*:

Rollouts are static and dynamic.
Static rollouts consist of static groups only while dynamic rollouts have a number of static groups (first groups) and then an unlimited number of dynamic groups.

Group targets assignments:
* static groups include ALL matching targets created at the time the rollout was created, nevertheless they have active actions with bigger weight or not. Actions for the rollout and included targeets however are created at the start time.
* dynamic groups however are filled in when started and consider the action weight. The targets included in a dynamic group are:
  * matching (filter and distribution set compatible)
  * not included in this or following rollout static groups (if already included in any of the following rollouts - it's intended to be overridden)
  * not in active actions of any rollouts with equal or bigger weight

In general, when you create a rollout it contains all matching targets available at create time overriding any previous rollouts, actions, and so on. If the rollout is dynamic when its dynamic group becomes running it gets only matching targets that doesn't belong to static groups or have actions with great or equal weight

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

* [#1548] Add 1000 weight for actions, rollouts and auto assignments without weight

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-18 11:37:01 +02:00
Stanislav Trailov
b5e9bc8caa Fix/update docker images (#1543)
* update docker images with latest released version and set revision ot 0.5.0-SNAPSHOT

Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>

* simple ui rev ision to 0.5.0-SNAPSHOT

Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>

---------

Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>
2024-01-13 10:29:20 +02:00