Item Registration Service
Migration to v3.9.0
Service 2 Service Authentication
Add - new API path:
The "service 2 service" feature has been introduced in this version of the Item Registration Service. From now on, the Item Registration Service is only able to validate service tokens (client/operator tokens are no longer validated). The validation of all kinds of client/operator tokens now happens in the API gateway, therefore the new API path has been introduced (/api/basket-item-registration) and must be used by all clients (Basket Authorization and Authentication).
Add - new base roles:
A new set of base roles has been introduced for the Item Registration Service. Every client calling the Item Registration Service needs the required base role for the called endpoint either in its service token or passport (if it is the first service in the call chain). The new base roles start with "b:basket.reg".
Remove - "tenantId" as a variable in the base path (url):
Resolving the "tenantId" out of the request URL of an incoming request has been removed by changing the security lib (AppKit to cloud platform). The tenantId must be provided by the caller via an http header (GK-Tenant-Id) or in the passport.
Section in the API Guideline: Using tenantId as a variable in the base path does not work well with the API gateway. Therefore, new service APIs must not use tenantId as a path. The tenantId must be taken from JWT (transformed by the API gateway into GK Passport) or the GK-Tenant-Id header.
Migration to v2.12.0
Configuration Changes
A lot of configurations have been moved from the Storemanager template to application.yaml (e.g. client-side 'Basic Auth' credentials are automatically set to cluster secret values and do not need to be configured in the SM template).
| Removed | application.yaml (New) | Description |
|---|---|---|
| ## Basket Service gkr.item-registration-service.remote-client.basket.url gkr.item-registration-service.remote-client.basket.connectTimeout gkr.item-registration-service.remote-client.basket.readTimeout core.common.security.client.http.auth.group.basket-service.type core.common.security.client.http.auth.group.basket-service.BASIC.username core.common.security.client.http.auth.group.basket-service.BASIC.password |
|
No manual config change in the cluster needed. URLs are set to cloud-internal URLs and credentials are filled with values from cluster secrets. |
| ## SDC gkr.item-registration-service.remote-client.sdc.url gkr.item-registration-service.remote-client.sdc.connectTimeout gkr.item-registration-service.remote-client.sdc.readTimeout core.common.security.client.http.auth.group.sdc.type core.common.security.client.http.auth.group.sdc.BASIC.username core.common.security.client.http.auth.group.sdc.BASIC.password |
|
No manual config change in the cluster needed. URLs are set to cloud-internal URLs and credentials are filled with values from cluster secrets. |
| ## Transaction Pool gkr.item-registration-service.remote-client.tx-pool.url gkr.item-registration-service.remote-client.tx-pool.connectTimeout gkr.item-registration-service.remote-client.tx-pool.readTimeout core.common.security.client.http.auth.group.transaction-pool.type core.common.security.client.http.auth.group.transaction-pool.BASIC.username core.common.security.client.http.auth.group.transaction-pool.BASIC.password |
|
No manual config change in the cluster needed. URLs are set to cloud-internal URLs and credentials are filled with values from cluster secrets. |
| # Caching caching.cachingEnabled=true caching.mbeansEnabled=true caching.statisticsEnabled=false # Cache BusinessUnit caching.cache.BusinessUnit.expiration=4h caching.cache.BusinessUnit.capacity=10000 # Cache BusinessUnitGroupID caching.cache.BusinessUnitGroupID.expiration=4h caching.cache.BusinessUnitGroupID.capacity=10000 # Cache PosUomItem caching.cache.PosUomItem.expiration=4h caching.cache.PosUomItem.capacity=10000 # Cache CurrencyRoundingRule caching.cache.CurrencyRoundingRule.expiration=4h caching.cache.CurrencyRoundingRule.capacity=10000 # Cache Reason caching.cache.Reason.expiration=4h caching.cache.Reason.capacity=10000 |
|
No manual config change in the cluster needed. |
| log4j-logging.propeties (complete file) |
|
Log settings can now be changed to "env" variables via helm chart values. Example: values.yaml
|