Skip to main content

Scope: Configuration options for KOBIL Shift SmartScreen services

Required SmartScreen Services

SmartScreen Dashboard

SmartScreen Frontend

SmartScreen Search

SmartScreen Services

SmartScreen Media

Optional SmartScreen Services

Smartscreen Connector

Dependencies for specific SmartScreen-services to other KOBIL Shift Services

Overview

SmartScreen Services* Store smartscreen resources

* Validate write operations
InternalSubsystem 771Postgres (Read-Write)A microservice that stores smartscreen resources and provides them internally to other microservices of the smartscreen family.
SmartScreen Search* Search and Autocompletion
* Localize results
* Different views for frontend and dasbhoard
* Initialize search index during startup
InternalSubsystem 772Postgres (Read-Only)A microservice that indexes smartscreen resources and provide search functionality on them to other microservices of the smartscreen familiy.
SmartScreen Frontend* In-Memory read representation for clients
* Localization
* eTag generations
AstClientSubsystem 770Postgres (Read-Only)A microservice that aggregates and preprocess smartscreen resources and provide them to end user devices.
SmartScreen Connector* Provide an GET interface for unlocalized resources

* Accessible from public internet
PublicSubsystem 774Postgres (Read-Only)A microservice that aggregates and preprocess smartscreen resources and provide them to other backend systems.
SmartScreen Media* Access immutable media resources

* Caching
InternalSubsystem 775Postgres (Read-Only)A microservice that provides a read API to smartscreen media resources.
SmartScreen Dashboard* In-Memory read representation for portal

* Delegate search and write operations
InternalSubsystem 773Postgres (Read-Only)A microservice that aggregates and preprocess smartscreen resources and provide them to other backend systems.

References to KOBIL Shift metaconfig (values.yaml)

# -- Configuration for smartscreenfrontend
smartscreenFrontend:
enabled: true
replicaCount: 1

# -- Configuration for smartscreenservices
smartscreenServices:
enabled: true
replicaCount: 1

database:
host: postgres
port: 5432
name: "smartscreen_services"
auth:
username: user
password: "password"

# -- Configuration for smartscreensearch
smartscreenSearch:
enabled: true

# -- Specific configuration for the smartscreen-search-for-frontend deployment.
# valuesOverride must be added in this section.
forFrontend:
replicaCount: 1

# -- Specific configuration for the smartscreen-search-for-dashboard deployment.
# valuesOverride must be added in this section.
forDashboard:
replicaCount: 1

# -- Optional configuration of database used by Segment
database:
enabled: false
host: postgres-segment
port: 5432
name: "shift"
schema: "tenant"
auth:
username: user
password: "password"

# -- TLS mode. Supported values are
# `PREFER`: This mode tries to establish database connection using TLS.
# If that fails, it tries non-TLS connection. No server certificate validation is performed.
# `VERIFY_CA`: This mode requires TLS connection, i.e. there is no fallback
# to non-TLS. This mode performs server certificate validation against the provided trust store.
# `VERIFY_FULL`: This mode acts like VERIFY_CA with additional hostname verification of the server certificate.
sslMode: PREFER
# -- Type of the truststore. Supported types are `JKS` and `PKCS12`.
trustStoreType: JKS
# -- Truststore of the selected type in BASE64 encoding.
# This setting is required for TLS modes `VERIFY_CA` and `VERIFY_FULL`.
trustStore: ""
# -- Password to open the truststore. This setting is required when a truststore is provided.
trustStorePassword: ""

# -- An array defining additional search providers. See [below](#additional-search-providers-for-smartscreen-search) for an example.
searchProviders: []
#- name: Test
# uriTemplate: https://test.com/{tenantId}
# headers:
# Authorization: Bearer search-test
# Content-Type: application/json
# timeout: 100
# httpMethod: GET
# requestBody: '{ "request": "{query}" }'

# -- Optional configuration of a TLS truststore. This truststore is used for
# all TLS connections to any of the configured additional search providers.
trustStore:

# -- Type of the truststore. Supported types are `JKS` and `PKCS12`.
trustStoreType: JKS

# -- Truststore of the selected type in BASE64 encoding.
trustStore: ""

# -- Password to open the truststore. This setting is required when a truststore is provided.
trustStorePassword: ""

# -- Configuration for smartscreendashboard
smartscreenDashboard:
enabled: true
replicaCount: 1

# -- Configuration for smartscreenconnector
smartscreenConnector:
enabled: false
replicaCount: 1

# -- Configuration for smartscreenmedia
# Uses the same physical db and db settings as smartscreenServices
smartscreenMedia:
enabled: true
replicaCount: 1

# -- Configuration for smartdashboard-routes
smartdashboardRoutes:
database:
host: postgres
port: 5432
name: "smartdashboard"
schema: "routes"
auth:
username: user
password: "password"

# -- Configuration for smartdashboard-frontend
smartdashboardFrontend:
enabled: true
replicaCount: 1

# -- Configuration for smartdashboard-smartscreen
smartdashboardSmartscreen:
enabled: true
replicaCount: 1

config:
# -- Default browser flow for OIDC clients created for MiniApps.
authenticationBrowserFlow: 'browser'

database:
host: postgres
port: 5432
name: "smartdashboard"
schema: "smartscreen"
auth:
username: user
password: "password"