* 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>
Make use of RequestContextHolder which provides access to request / response out of the box
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
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>
* 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>
* 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>
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>
* 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>
* 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>
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>
* 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>
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>