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.

Note: 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.

Tip: 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).

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

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.

You can set the log level for a specific path by creating a key/value pair for it. Enter the path to the files for which you want to set the log level into the left column and select the desired log level from the drop-down menu in the right column. Then click on the "+" sign to save this entry.

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.