Commit Graph

120 Commits

Author SHA1 Message Date
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
Tronje
c5bb8b6e3c Remove default vhost environment variable for RabbitMQ in Docker setup (#1167)
RABBITMQ_DEFAULT_VHOST is deprecated. As the default vhost setting
defaults to "/" anyway, it can be safely removed.

Fixes #1157.

Signed-off-by: Tronje Krabbe <t.krabbe+eclipse@protonmail.com>
Co-authored-by: Tronje Krabbe <t.krabbe+eclipse@protonmail.com>
2023-09-27 17:04:10 +03:00
Denislav Prinov
3978454900 HTTP documentation generation from OpenApi documentation (#1438)
* Generating rest doc from swagger json

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

* refactoring and adding doc

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

* refactoring

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

* Don't directly inject files in the executable jar since it brakes it

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

* using the attachArtifact configuration to generate secondary artifact

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

* Splitting the json documentation into mgmt and ddi. And some refactoring

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

* refactoring

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

* Split mgmt and DDI components from the json

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

---------

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>
2023-09-27 11:44:30 +03:00
Stanislav Trailov
b51a5d6c90 Feature/swagger support (#1432)
* Swagger support initial concept

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

* Add descriptions for Target tags

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

* Add target filter queries descriptions

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

* Add target api descriptions

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

* Add software modules API descriptions

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

* Add descriptions for DS, DSTags and SMTypes

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

* Add DistributionSetType API descriptions

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

* Add Rollout API descriptions

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

* Bring back test scope to mariaDb

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

* Add tags and descriptions to System config API

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

* Move away OpenAPI config from Start.java

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

* provide license header and project version for openapi

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

* Fix error responses with example error body

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

* Add DDI API to swagger and make proper API grouping

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

* Revert changes from not merging before commit

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

* Remove more changes

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

* fix circle ci build

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

---------

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>
2023-09-25 13:44:55 +03:00
Avgustin Marinov
9c86729a68 [#1393,#1008] Switch to Eclipse v2.0 license (#1427)
Switching license from EPL v1 to v2. Following
https://www.eclipse.org/legal/epl-2.0/faq.php#h.tci84nlsqpgw

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-09-14 11:03:20 +03:00
Stanislav Trailov
0ee081dafc hawkBit Swagger support (#1423)
* Swagger support initial concept

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

* Add descriptions for Target tags

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

* Add target filter queries descriptions

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

* Add target api descriptions

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

* Add software modules API descriptions

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

* Add descriptions for DS, DSTags and SMTypes

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

* Add DistributionSetType API descriptions

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

* Add Rollout API descriptions

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

* Bring back test scope to mariaDb

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

* Add tags and descriptions to System config API

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

* Move away OpenAPI config from Start.java

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

* provide license header and project version for openapi

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

* Fix error responses with example error body

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

---------

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>
2023-09-13 10:40:31 +03:00
Avgustin Marinov
d9205ee4e2 JDK requirements fixed as well as mysql version in (#1425)
docker swarm

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-09-01 10:44:00 +03:00
Stanislav Trailov
b7fb5f131c Add dockerfiles for 0.3.0M9 and fix docker-compose to use mysql 8.0 (#1422)
Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>
2023-08-25 15:32:28 +03:00
Avgustin Marinov
56ea5b15c9 [#1383] Spring Boot 3 Migration / Step 1 (#1384)
1. PagingAndSortingRepository doesn't extend CrudRepository anymore. For all extending that interface repositories CrudRepository super interface shall be now declared (https://spring.io/blog/2022/02/22/announcing-listcrudrepository-friends-for-spring-data-3-0 -
```
The popular PagingAndSortingRepository used to extend from CrudRepository, but it no longer does. This lets you combine it
with either CrudRepository or ListCrudRepository or a base interface of your own creation. This means you now have to
explicitly extend from a CRUD fragment, even when you already extend from PagingAndSortingRepository.
```
)
2. org.eclipse.hawkbit.autoconfigure.mgmt.ui -> move in hawkbit-ui (to be ready for removal), anyway - it's a better location for ui related configs
3. extends WebMvcConfigurerAdapter -> implements WebMvcConfigurer
4. remove WebSecurityConfigurerAdapter -> https://docs.spring.io/spring-security/reference/5.8/migration/servlet/config.html#_stop_using_websecurityconfigureradapter, https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter
and add @Order to the bean reg!!
5. Use configurers (the other will be deprecated / removed), e.d:  http.csrf().disable() -> http.csrf(AbstractHttpConfigurer::disable)
6. configure(final AuthenticationManagerBuilder auth) -> put in httpsecurity config - http.getSharedObject(AuthenticationManagerBuilder.class).... (https://www.baeldung.com/spring-security-authentication-provider)
7. configure(final WebSecurity webSecurity) ->
```
@Bean
public WebSecurityCustomizer webSecurityCustomizer() {
    return (web) -> web.ignoring().antMatchers("/documentation/**", "/VAADIN/**", "/*.*", "/docs/**");
}
```
(https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter)
8. AuthenticationManager authenticationManagerBean() ->
```
@Bean
AuthenticationManager authenticationManager(final AuthenticationConfiguration authenticationConfiguration) throws Exception {
    return authenticationConfiguration.getAuthenticationManager();
}
```
(https://backendstory.com/spring-security-how-to-replace-websecurityconfigureradapter/)
9. WebMvcAutoConfiguration could be removed - it uses deprectated methods, and sets properties that are same by default - hence - not neeeded
(https://github.com/spring-projects/spring-framework/issues/23915#issuecomment-563987147)

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2023-07-17 10:36:26 +03:00
Sebastian Firsching
41922bfa0c Adapt rel value in properties files
Signed-off-by: Sebastian Firsching <sebastian.firsching@bosch-si.com>
2023-06-20 09:08:05 +02:00
Shruthi Manavalli Ramanna
0759fd80b0 Added support for cdn download url for mgmt API and tests
Signed-off-by: Shruthi Manavalli Ramanna <shruthimanavalli.ramanna@bosch-si.com>
2023-06-02 19:09:31 +02:00
Stefan Behl
43b54b4c36 Fixed Dockerfile for 0.3.0M8-mysql (#1357) 2023-04-26 09:38:20 +02:00
Stefan Behl
a097638d2b Adding Dockerfiles for 0.3.0M8 (#1353) 2023-04-20 17:21:47 +02:00
Michael Herdt
6f854afdae Introduce GitHub action to execute vulnerability scan using Trivy (#1333)
* Introduce docker maven plugin for hawkbit update server
* Introduce GitHub action to execute vulnerability scan using trivy
2023-03-28 07:42:04 +02:00
Stefan Behl
4a3a79aa6b Migration to Spring Boot 2.7.10 (#1320)
* Initial commit
* Fix compile breaks
* Fix hibernate config
* Fix hibernate config
* Fix failing tests
* Improve logging
* Improve logging
* Fix Sonar issues
* Remove BusProperties
* Add BusProperties bean back in
* Fix JPA workaround
* Fix CVE-2021-22044
* Fix test failures
* Fix PR review findings
* Fix CVEs
* Remove H2 version downgrade, fix schema migration, enable legacy mode
* Downgrade Vaadin back to 8.14.3
* Fix EventPublisherHolder
* Fix RemoteTenantAwareEvent
* Fixed EventPublisherAutoConfiguration
* New version of spring-hateoas requires links to be expanded (Mgmt API)
* New version of spring-hateoas requires links to be expanded (Mgmt API)
* Fix PR review findings
* Fix PR review findings
* Fix PR review findings
* Update README.md
* MariaDB Java Client downgrade to maintain compatibility with AWS Aurora
* Temporarily disable RSQL test that depends on DB collation type
* Upgrade to boot 2.7.10
* Upgrade snakeyaml to 1.33
* Upgrade Spring Security OAuth2 to version 5.7.7
* Remove obsolete exclusion of junit-vintage-engine
* Upgrade jackson-bom to 2.14.2
2023-03-28 07:16:25 +02:00
Ahmed Sayed
090db6fd7b Speedup build: introduced SharedSqlTestDatabase and DisposableSqlTestDatabase junit extensions (#1218)
* fixed PostgreSql migration scripts
* introduces SharedSqlTestDatabaseExtension and DisposableSqlTestDatabaseExtension
* Add cause msg to JUnitTestLoggerExtension

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch.io>
Signed-off-by: Florian Ruschbaschan <florian.ruschbaschan@bosch.io>
Co-authored-by: Florian Ruschbaschan <florian.ruschbaschan@bosch.io>
2023-03-09 07:30:22 +01:00
Michael Herdt
06fc4fb6d2 Make exposed CORS headers configurable (#1322)
* Prevent losing headers (like CORS related ones) when resetting the response headers due to artifact stream.

* add comment

* Extend CORS tests to verify provided header.
2023-02-23 14:16:42 +01:00
Michael Gilroy
ae4fb5fe00 Remove mysql_user and update documentation (#1139)
* Remove mysql_user and update documentation

* MG, udpate based on maintainers feedback

* Remove extra comments for password, already in doc
2021-10-28 17:24:42 +02:00
Bondar Bogdan
5bcaf3d99b UI error handling refactoring (#1106)
* refactored HawkbitUIErrorHandler to delegate error details extraction to external extractor beans
* refactored ui error handling, allowed ui error details extractors to return a list of error details
* added license headers, restructured package structure
* adapted javadocs
* fixed sonar findings
* fixed license header
* added tests for HawkbitUIErrorHandler
* refactored ConstraintViolationErrorExtractor, added test for extractors
* changed UI tests feature to Management UI
* fixed the parent/child error type resolution by ui error details extractor, added test

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2021-04-22 08:19:45 +02:00
Dominic Schabel
81defa10a6 Migration to JUnit5 as default test runtime (#1082)
* Migrate tests to JUnit5

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* REST docs tests migrated to JUnit5

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Migrated security and UI tests to JUnit5

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Migrated management tests to JUnit5

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Reflecting changes from JUnit5 migration

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Fix RabbitMQ test detection

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Drop support for JUnit4

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>
2021-03-15 13:40:40 +01:00
Dominic Schabel
1d4ffa7604 Proxy support for sandbox fixed
Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>
2021-02-15 18:09:26 +01:00
Dominic Schabel
186d7ca855 Bump docker setup to 0.3.0M7
Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>
2021-02-15 14:47:04 +01:00
Dominic Schabel
9c5360e59d JUnit5 support (#1063)
* First preparation for JUnit5

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Exclusion of JUnit5 removed

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>
2021-02-12 08:22:26 +01:00
Dominic Schabel
17cca56a1b Merge pull request #1018 from bosch-io/fix_migration_to_new_spring_boot_version
Update Spring Boot to 2.3.7.RELEASE
2021-02-11 16:42:14 +01:00