Commit Graph

143 Commits

Author SHA1 Message Date
Avgustin Marinov
bcc89ddba0 Fix multipart file resource close (#1683)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-13 09:14:57 +02:00
Avgustin Marinov
536bb19382 Add Roles and Hierarchies (#1673)
Adds Roles (SpRole -> TENANT_ADMIN, REPOSITORY_ADMIN, ...) and
intuitive hierarcy rules for them

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-01 12:35:40 +02:00
Avgustin Marinov
57450bf31b Add fine graned role and permission for user management (#1670)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-29 12:01:35 +02:00
Avgustin Marinov
24d70827b7 Improve hawkBit user management (#1666)
1. Definded with properties users (static) are configured using property map (no need of indexes)
2. AuthenticationProvider that authenticates them is always registered (if not needed - don't configure them)
3. UserDetailsService (in case of missing - won't be registered)
4. Spring security user (spring.security.username) will be registered together with other users (if any). If any - it will be system-wide, otherwise tenant-scoped.
5. UserPrincipal renamed to TenantAwareUser in order to match its purpose.
6. Some if its fields are removes as not needed - to be closer to spring security user
7. DefaultRolloutApprovalStrategy now use UserAuthoritiesResolver instead of UserDetailsService as the central point of truth

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-26 16:56:37 +02:00
Avgustin Marinov
e30737f51b Simple UI migrated over SDK Management Client (#1664)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-21 15:46:44 +02:00
Avgustin Marinov
0a01a23a60 Simple UI: Fix NPE on missing description (#1637)
and add security target token in view

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-12 16:23:21 +02:00
Avgustin Marinov
bd84444c5e Simple UI: Fix rollout and rollout group status (#1636)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-09 17:00:49 +02:00
Avgustin Marinov
8446929e3b Simple UI: Add support for dynamic rollouts (#1635)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-09 16:32:59 +02:00
Avgustin Marinov
ec10950308 Swagger: little config cleanup (#1617)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-06 17:40:31 +02:00
Avgustin Marinov
6ddc2fae1b Allow DEFAULT tenant auto create in example runtimes (#1616)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-05 11:44:02 +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
34e2ad4fad Bump docker base version -> 17.0.10_7 (#1579)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-02-01 09:04:26 +02:00
Diego Rondini
28f0446d9d Update hawkBit sandbox URL (#1568)
Update hawkBit sandbox URL to use the eclipseprojects.io domain.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.it>
2024-01-29 09:15:27 +02:00
Avgustin Marinov
4f63a66a6d Fix docker images and micro-service compose (#1560)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com
2024-01-22 09:52:12 +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
54ccc4bee9 [#1510] Remove Vaadin v8 UI: Remove Lib - FIX (#1555)
Fixes the security vulerability in previous commit: 76996c7b4a

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-19 13:41:24 +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
b929b86437 [#1510] Remove Vaadin v8 UI: Remove Application (#1553)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-19 12:11:19 +02:00
Avgustin Marinov
c1cf90f7cf Fix Simple UI for 0-SNAPSHOT (#1552)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-18 17:19:48 +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
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
Avgustin Marinov
ae47b1b338 Add Simple UI Source & rename java package (#1542)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-11 18:50:14 +02:00
Avgustin Marinov
d1bdca04a1 Rename simple ui package com -> org (#1541)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-11 18:07:24 +02:00
Avgustin Marinov
48e445fba4 Try to fix Simple UI Deploy (#1538)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-11 17:06:40 +02:00
Avgustin Marinov
1ae913e30d Fix Simple UI deploy (#1537)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-01-11 12:25:31 +02:00
Stanislav Trailov
e6efdd0407 fix dist repos of simple ui in order to be properly released (#1536)
Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>
2024-01-11 11:23:19 +02:00
Avgustin Marinov
586a9d64c7 Fix hawkbit dependency versions of Simple UI (#1527)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-22 11:02:24 +02:00
Avgustin Marinov
6fe4d3fe88 Fix monolith docker compose - waiting for MySQL (#1526)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-21 16:44:57 +02:00
Avgustin Marinov
46ae06bdde Add version support for simole UI (#1525)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-21 16:28:22 +02:00
Avgustin Marinov
ba648cae0e Bump Spring Boot version -> 2.7.18 (#1519)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-15 12:56:32 +02:00
Avgustin Marinov
4289f464c5 Update RolloutView.java / fix sonar finding 2023-12-10 16:12:45 +02:00
Avgustin Marinov
dfd4edb7e6 Fix Sonar findings of Simple UI (#1507)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-10 00:52:28 +02:00
Avgustin Marinov
5468218615 Add DDI Server PreAuthorize enabled test (#1506)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-08 11:57:27 +02:00
Avgustin Marinov
aa1bad91e1 Add @PreAuthorize enabled check for applications (#1503)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-07 22:23:40 +02:00
Avgustin Marinov
c0f8a8c848 Mark new micro-service setup as experimental (#1502)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-07 15:15:12 +02:00
Avgustin Marinov
026ebe0f7f Allign docker doc (#1500)
* allign docker documentation
* remove fabric8 files as this is duplicated way for building docker images (along with docker files)

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-04 15:15:54 +02:00
Avgustin Marinov
3b66281c08 Initial draft of Simple UI (#1499)
A very simple UI based on Vaadin 24.
2023-12-04 15:00:18 +02:00
Avgustin Marinov
d0bb7b61d8 hawkbit docker containers made to wait for mysql (#1498)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-04 11:11:49 +02:00
Avgustin Marinov
341e8a4a0c Dockerfiles use non-root user (#1497)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-04 10:52:19 +02:00
Avgustin Marinov
855124eca8 Improve docker build script (#1496)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-04 09:02:59 +02:00
Avgustin Marinov
6a3b584bd1 Fix artifact repo in docker & compose (#1495)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-12-01 17:44:41 +02:00
Avgustin Marinov
a6fa75697f Splitting monolith app to micro services (#1490)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-11-30 15:41:12 +02:00
Avgustin Marinov
b362698af8 Move REST API Doc build in docs/ (#1492)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-11-29 09:52:40 +02:00
Avgustin Marinov
a015a23615 Adding dev docker builds (#1489)
Adds option to build docker images using locally built hawkBit apps. This allows for instance building images from snapshots.

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-11-27 17:32:08 +02:00
Avgustin Marinov
51255feb1b Improved Docker build and docker images (#1488)
* Using upacked Spring layers for faster boot
* Added option to pass JAVA_OPT to modify the environment variables in both flavours
* Build support for different hawkbit apps - could be used in future if hawkBit is split in multiple micro-services
* Removed templates and replacing with parameterized (via build ARGs) docker builds

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-11-27 15:51:04 +02:00
Avgustin Marinov
0021b03c9a CI friendly maven poms - use $revision for version (#1477)
https://maven.apache.org/maven-ci-friendly.html

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-11-16 17:23:01 +02:00
Avgustin Marinov
042e867e5d Docker version upgraded to 17.0.9_9 (#1466)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-11-01 12:52:00 +02:00
Denislav Prinov
22ce1c27a4 Rest API doc generation test - fix (#1453)
* Added SharedSqlTestDatabaseExtension in Rest API doc test - generation

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

* Remove Active profile import

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

---------

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>
2023-10-17 13:37:08 +03:00
Denislav Prinov
a4204956e6 Openapi restdoc generation v2 (#1442)
* OpenApi restdoc generation v2

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

* Attach json and yaml artifacts only if -DskipTests is not provided

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

* Add missing header

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

* Add license header

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

---------

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>
2023-10-02 11:04:52 +03:00
Avgustin Marinov
5eb84cba4e Fix/Improvement of docker stuff (#1440)
* old docker files removed as not needed anymore
* base docker image upgraded
* mariadb version upgraded and dockerfile fixed to work with new jdks
  as extended libs approach seem to be not supporte anymore
* deprecated rabbitmq default vhost config removed
  (https://github.com/eclipse/hawkbit/issues/1157)

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-09-28 08:24:28 +03:00