Commit Graph

3034 Commits

Author SHA1 Message Date
Florian BEZANNIER
0013750f78 feat: allow a target to set offline assigned distribution set (#1620)
* feat: allow a target to set offline assigned distribution set

Signed-off-by: Florian Bezannier <florian.bezannier@hotmail.fr>

* refacto: apply @avgustinmm recommendation

* docs: Mark update offline API as experimental

---------

Signed-off-by: Florian Bezannier <florian.bezannier@hotmail.fr>
2024-08-01 11:51:31 +03:00
Denislav Prinov
aa8ab69c1f Add targeted indexes to improve query performance (#1783)
Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>
2024-08-01 11:44:58 +03:00
Diorcet Yann
c7d9366009 Replace APiReponse code from 200 to 201 according to behaviour or POST methods (#1796) 2024-08-01 11:42:28 +03:00
Avgustin Marinov
ae09e2fbef [#1778] Prevent deletion of Software Module of locked DS (#1793)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-01 08:57:50 +03:00
Avgustin Marinov
6106d3c16c Fix sonar findings (#1792)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-29 13:50:42 +03:00
Avgustin Marinov
17432925f9 Improve request/response holder implementation (#1790)
Make use of RequestContextHolder which provides access to request / response out of the box

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-29 12:23:06 +03:00
Avgustin Marinov
9cc9b23398 Make noop default password encoder for StaticAuthenticationProvider (#1791)
if no provider is specified for the password

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-29 11:51:13 +03:00
Avgustin Marinov
947e48c1b5 Disable request cache (#1789)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-26 14:45:41 +03:00
Avgustin Marinov
0c5a0a65d0 Add REST API security filter chain customization (#1788)
It is called just before the build and could be used for instance to set application provider.
Note: implementation of customizers shall always take in account what is the already set by the hawkBit

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-26 13:49:09 +03:00
Avgustin Marinov
3a34ded4f6 Support for simultaneous base and OAuth authentication (#1785)
* Remove _OidcAuthenticationSuccessHandler_:
  * _OAuth2AuthenticationToken.setDetails_ is made by jwt authentication converter
  * get tenant data (with potentially creating tenant) is done via a filter added in filterChainREST
* _filterChainREST_ uses _Customizer<OAuth2ResourceServerConfigurer<HttpSecurity>>_ as configuration for OAuth. Thus it is not bound with oauth client configuration
* _OidcUserManagementAutoConfiguration_ - now registers (if conditions are met) Customizer<OAuth2ResourceServerConfigurer<HttpSecurity>> which covers both - oauth legacy filter from filterChainREST and OidcBearerTokenAuthenticationFilter
* Since oauth clients are not related to hawkBit anymore (since removal of legacy UI) and the proper configuration would be via resource server or whatever, the _OidcUserManagementAutoConfiguration_ is DEPRECATED and for removal
* _UserAuthenticationFilter_ is removed
* Enabled sumiltaneous base and oauth authentication. Still, by default, if OAuth configured http authentication is disabled. However, if OAuth it is configured (via _Customizer<OAuth2ResourceServerConfigurer<HttpSecurity>>)_ and **hawkbit.server.security.allowHttpBasicOnOAuthEnabled** is set to **true** then http auth would be also enabled
* _OidcUserManagementAutoConfiguration_ could be disabled with **hawkbit.server.security.oAuth2OnClientsConfig.enabled=false**

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-26 10:59:15 +03:00
Avgustin Marinov
6b8917e229 Remove MultitenancyIndicator as not used (#1787)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-26 09:34:11 +03:00
Avgustin Marinov
950ed398cc Target REST API returns OK with empty list when no tags (#1786)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com
2024-07-26 08:43:20 +03:00
Avgustin Marinov
859cd130f2 Remove UI leftover and small improvements (#1784)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-25 13:47:59 +03:00
Avgustin Marinov
3189531162 Add support for target tag retrieval via REST (#1782)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-24 14:01:40 +03:00
Avgustin Marinov
c253a4fccd Remove obsolete OIDC logout handling (#1781)
Obsolete with removing th UI - no loging anymore

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

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com
2024-07-24 14:01:31 +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
c1de86b29e Remove target tag to target reference (#1772)
* Remove target tag to target reference

it is not used and could lead to extensive memory usage if JPA provider load targets while loading tags

Also, remove search field controller id as not meaningful

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

* Fix review findings

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-19 13:56:30 +03:00
Denislav Prinov
119d1b5c50 Tests for the new Dynamic Rollouts, including the new Dynamic group definition functionality (#1777)
* Added tests for the new Dynamic Rollouts, including the new Dynamic group definition functionality

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

* Refactoring

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

* Additional check before the dynamic group is triggered

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

* Refactoring

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

---------

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>
2024-07-19 08:25:31 +03:00
Avgustin Marinov
56ab399493 Remove target type to target reference (#1771)
it is not used and could lead to extensive memory usage if JPA provider load targets while loading types

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-18 18:13:03 +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
683fc1124c Remove unnecessary use of com.google.common.primitives.Ints (#1775)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-17 13:46:53 +03:00
Avgustin Marinov
f45c9db571 Remove guava BaseEncoding from sdk (#1773)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-16 16:57:49 +03:00
Avgustin Marinov
87050dd26c Add dynamic group finish scenario test (#1769)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-15 13:36:12 +03:00
Avgustin Marinov
ff6d7a29f6 Improve building of SQL from an RSQL query (#1766)
* Improve building of SQL from an RSQL query

* ignore case behavior could be disabled
* like is used only when needed

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

* Inlining of some methods and unified IN build + fix case

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

* Implement more flexible ignore case configuration

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

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-15 13:04:47 +03:00
Avgustin Marinov
beeb2523e2 Fix transactions on mysql of createActionsForDynamicGroupInNewTransaction (#1768)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-12 16:43:17 +03:00
Avgustin Marinov
9b9bc7ee00 Align dynamic action behaviour with the static ones (#1764)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-12 08:30:46 +03:00
Avgustin Marinov
8e82a9252f Fix applying createdat less or equal to rollout group filter (#1765)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-11 16:04:24 +03:00
Denislav Prinov
d2ef59781b Fix Target Types filtering by ID (#1763)
Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>
2024-07-11 12:21:24 +03:00
Avgustin Marinov
c5e5c2bb45 Fix transitive software module lock on explicit DS lock (#1762)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-11 09:34:57 +03:00
Avgustin Marinov
719062215f More consistent auditor (#1756)
* action initiated by is set as current auditor - not user
* auto assigned by is set as current auditor - not user
PS: some unused method removed from DeplopymenHelper

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-27 15:31:45 +03:00
Avgustin Marinov
494170405a Small Rollout create code improvements (#1754)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-26 11:06:56 +03:00
Avgustin Marinov
4b2c454f1d Fix flaky rollouts flow test (#1753)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-26 10:14:10 +03:00
Avgustin Marinov
8b3434fc17 Add support for dynamic rollout group template (#1752)
1. Add support in REST and Mgmt API for dynamic group template
2. If present - groups follows the pattern of this template, otherwise - the last static group
3. This allows to create pure dynamic rollout with 0 static groups - auto assignment equivalent with groups

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-26 08:31:01 +03:00
Avgustin Marinov
40f99962d2 Add REST method for update rollout (#1749)
* adds PUT method for updating name and description of a rollout
* restrict RolloutUpdate to changing only name and description
* small refactoring

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-24 09:16:39 +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
77acfb3bff Fix Sonar findings (#1750)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-21 10:01:27 +03:00
Avgustin Marinov
6e6f96a0f4 Fix lastModifiedBy on modification perfomed by the JpaRolloutExecutor (#1748)
1. The auditor is got on transaction commit - so haven't used the tenant & user context until now - write system
2. The start/stop/delete are called by the user (saved in lastModifiedBy) but then executed in JpaRolloutExecutor

So the change is:
1. Fix auditor for actions taken by JpaRolloutExecutor to be the createdBy
2. for start/stop/delete the auditor is set to the lastModifiedBy for the transaction (hence all action taken)

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-21 08:27:24 +03:00
Stanislav Trailov
b42765b4eb handle error when iterating over active rollouts! (#1747)
* handle error when iterating over active rollouts!

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

* fix typo and message

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

---------

Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>
2024-06-17 09:23:56 +03:00
Manthan R. Tilva
0916cc6960 Simple UI for config (#1745)
* Add System config view

* Add System config view
2024-06-13 09:27:25 +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
7d62e81515 Add PollStatus to result of list targets via REST API (#1734)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-05-22 11:02:21 +03:00
Stanislav Trailov
deb524d438 Fix sonar build (#1736)
* fix sonar build

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

* throw illegal state instead of only logging

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

---------

Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>
2024-05-22 10:55:00 +03:00
Michael Wiesenbauer
e69c1defdf prevent npe during multipart exception handling (#1721)
Signed-off-by: Michael Wiesenbauer <michael.wiesenbauer@setago.io>
Co-authored-by: Michael Wiesenbauer <michael.wiesenbauer@setago.io>
2024-05-22 10:34:20 +03:00
Stanislav Trailov
4c3c71dd06 fix sonar build (#1735)
Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>
2024-05-22 09:06:39 +03:00
Avgustin Marinov
b234271361 Support for OAuth2 resource server with issuer URI (#1731)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-05-14 16:59:05 +03:00
Stanislav Trailov
d8c92cb5e1 DMF SDK fixes and improvements (#1730)
* Extend dmf sdk to support additional message handlers

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

* make changes after review

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

* refactoring and bugfixing of dmf sdk

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

* make get connection factory private

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

* changes after review

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

* make handle cancel and update attributes protected

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

* rename isEnvLocal to initVHost

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

---------

Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>
2024-05-13 10:55:18 +03:00
Avgustin Marinov
9b5c4851c5 Add locked Distribution Set delete tests (#1729)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-05-07 11:22:32 +03:00
Erik
f66da8e723 fix typo in datamodel.md (#1728)
Co-authored-by: ErikSovereign <erikb98@protonmail.com>
2024-04-30 12:39:02 +03:00