Project Configuration

Introduction

The Project Configuration provides configurations that apply to all new deployments within a k5-project. It is meant as a default configuration for deployments that can be overwritten by a Deployment Configuration.

New service bindings can only be created within the Project Configuration.

Attention: This configuration has to be done for each new k5-project.

You can find the Project Configuration in Solution Hub after you selected a project. Alternatively, you can do the settings via a REST API called Configuration Management API (see API documentation). This API provides a Swagger UI for ease-of-use but you can use the tool of your choice for calling APIs (e.g. cURL, Postman).

Tip: As long as not configured otherwise, the default URL where you can find the Configuration Management Swagger UI is built like this:
<https://ssob-config>.<domain>

The exact URL can be found within the route named k5-configuration-management. It can be easily retrieved by executing

oc get route k5-configuration -n <namespace>

, whereby <namespace> points to the namespace, where the Solution Hub is installed.

See Deployment Configuration if you want to change the settings for a specific deployment.

The Project Configurations tab provides the following categories of settings

  • Authentication

  • Database

  • Features

  • Logging

  • Messaging

  • Operations

  • Testing

Tip: Alternatively, you can use the Configuration Management API, either via the provided Swagger UI or directly via cURL or Postman.

Authentication

Identity Provider Service Binding

Select an existing service binding from the list or create a new binding for the identity provider.

Form FieldDescription
NameSpecify a unique name for this binding.
Client IdThe client ID of a registered OAuth client
Client SecretThe secret value which is bound to the referenced OAuth client.
IssuerThe issuer which has issued the JWT.
JWK URIThe URL of the JSON Web Key set.
User Authorization URIThe URL of the OAuth authorization endpoint.
Token URIThe URL of the OAuth token endpoint.

Database

Database Service Binding

Select an existing service binding from the list or create a new binding for the database connection.

Form FieldDescription
NameSpecify a unique name for this binding.
Database URIThe MongoDB connection string

Example:

mongodb://username:password@mongodb.domain.svc.cluster.local:27017/admin?ssl=false

Features

Enable Usage of DEV Bindings

Defines that deployments can use DEV bindings, that are defined in Solution Designer if no service binding was specified in the Configuration Management.

Enable CORS

Defines if Cross-Origin Resource Sharing is enabled or not.

Publish Internal Helper API

Defines if the internal helper API of a deployment is exposed within the Swagger UI.

Logging

Log Level of Domain Server

Adjust the log level configuration used for the domain server. This can be one of the following values:

  • ALL

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

  • TRACE

Log Level of Deployments

Set the default log level for the deployments.

TODO: Describe how to use this

Messaging

Message Hub Service Binding

Select an existing service binding from the list or create a new binding for the message hub.

Form FieldDescription
NameSpecify a unique name for this binding.
Message Hub URIEnter the Kafka connection string.
UsernameThe provided Kafka user must have the permission to read and create topics.
PasswordEnter the password for the specified message hub user.
SASL MechanismSelect the SASL mechanism to use with the message hub.
SASL JAAS Config Login ModuleThe SASL JAAS Config Login Module used for the SASL mechanism. This field will be auto-filled depending on the selected SASL mechanism.

Enable Audit Trail

Defines if deployments shall send events to a project-wide topic that records all access to any data.

Operations

Automatic Horizontal Scaling

Defines whether automatic horizontal scaling of the deployment is enabled or not.

Target CPU Utilization

Defines at with CPU usage percentage an additional pod will be started.

Min. Number of Pods

Set the minimum number of running pods (1-100).

Max. Number of Pods

Set the maximum number of running pods (1-100). Has to be greater or equal to Min. Number of Pods value.

Testing

Enable Testing Support

Defines if an additional API for testing is available. If disabled, integration tests within the pipeline are not possible.

Attention: Activation of this feature is not recommended for PROD-deployments.

Username (Default User for Testing)

Default username used for executing the deployment tests (e.g. dev-envoy-test-user).

Password (Default User for Testing)

Password used for the specified default user for executing the deployment tests.