Solution default configuration

Specifies solution specific default configuration. This values are used for the Helm deployment of a solution. The default configuration is used for all solutions in the Solution Envoy if there is no specific configuration for a solution. This has to be done for each new Solution Envoy.

  • Open the configuration-management
  • Use POST method Create a solution default configuration for creating the configuration.
Note: You can find the URL for the configuration-management by inspecting the route of the same name
$ oc -n zen get routes | grep configuration-management
configuration-management ssob-config.apps.{your.cluster.domain} / configuration-management https reencrypt/Redirect None

Request parameters

Parameter Type Description
configurationName path parameter (String) The name of the configuration: ssob-sdo-values-yaml
runtimeName path parameter (String) The name of the specific Solution Envoy, e.g. cpd-runtime-default
data body parameter (YAML) The configuration values (Body Parameters)

Configuration Parameters (body parameter)

The following table lists the required configurable parameters for the solution default configuration.

Parameter Description
environment.host Hostname of the specific Solution Envoy (e.g. cpd-runtime-default.apps.openshift-cluster.mydomain.cloud)

The following table lists the optional configurable parameters for the solution default configuration, these variables have default values if nothing is set.

Parameter Description Default value
eventManager.secretName Secret of the OIDC configuration for the event manager. event-manager-oauth-client-secret
feature.corsPolicy Defines if cross-origin resource sharing is enabled or not. If set to true CORS policy where the value is set to '*' (any origin is allowed) is enabled. false
feature.dataEvents Defines if solutions shall send events to a Solution Envoy namespace wide topic. false
feature.devBinding Defines that solutions uses dev bindings that are defined in the solution center, if no service binding is deployed in the Kubernetes cluster. This feature flag will be set automatically (true for DEV projects) if spec.configuration.configurationManagement.autoConfiguration.enabled is set in the k5 project crd instance (see Create a k5project) false
feature.exposeInternalApi Defines if the internal APIs of a solution is exposed to the provided swagger.json. false
feature.kafkaEvents Defines if Kafka will be available in the deployed solution. If Kafka events are enabled sent business events (see Managing Events) are sent to the Kafka service and then handled and executed by the solution. If Kafka events are not enabled, sent business events are directly handled and executed by the solutions without using a Kafka service (event-streaming). The revision logging (audit) and data events are also not sent to a Kafka service and just written to the log output without Kafka being enabled. The logger names are audit-event for the revision logging and data-event for the data events. Ensure that a Kafka service is available and enabled in the k5project if it should be used by solutions. This feature flag will be set automatically if spec.configuration.configurationManagement.autoConfiguration.enabled is set in the k5project crd instance (see Create a k5project) true
feature.testSupport Defines if an additional API for testing is available. This feature flag will be set automatically to true if spec.configuration.configurationManagement.autoConfiguration.enabled is set in the k5project crd instance (see Create a k5project) false
image.registry Specifies the registry of the needed image for the solution. image-registry.openshift-image-registry.svc:5000
imagepullSecret.name Used image pull secret for solution deployment (not needed for OpenShift registry). nil
mongodb.secretName Service binding name for the MongoDB service (created by the k5-project-operator). k5-default-document-storage-service-binding
messagehub.secretName Service binding name for the message hub service (created by the k5-project-operator). k5-default-message-service-binding
messagehub.saslMechanism SASL mechanism that is used by the Kafka client to communicate with the Kafka cluster. PLAIN
messagehub.saslJaasConfigLoginModule SASL Jaas Config Login Module that is used by the Kafka client to communicate with the Kafka cluster. org.apache.kafka.common.security.plain.PlainLoginModule
oidc.secretName Secret name of the OIDC configuration for the solution. k5-default-iam-service-binding
rbac.useSelfCreated Use self created default service account, role and rolebinding. If true the specific service account names are not used. false
rbac.serviceAccountName Set existing service account name for the solution deployment, only used if rbac.useSelfCreated is false. cpd-viewer-sa
rbac.provisioner.serviceAccountName Set existing service account name for the deployment jobs, only used if rbac.useSelfCreated is false. cpd-editor-sa
solution.logging Adjust the log level configuration for Low Code (Node) Solutions. The configured log config json will be used in the solution Helm deployment and the information will be saved in the deployment of the solution. For more information about the log level configuration see How to change the default log level for a Low-Code-Solution
solution: 
                                logging: |
                                {
                                "/src-impl/api/apitest/operations/*" : "trace",
                                "/src-impl/api/apitest/operations/addDate.test" : "info",
                                "/src-impl/api/apitest/operations/addNumber" : "error",
                                "/sdk/v1/*" : "info",
                                "/sdk/v1/handler/*" : "trace"
                                }

Auto-configuration of Solution Default Configuration:

The k5-project-operator will create the minimum needed solution default configuration for deploying a new solution while creating a new Solution Envoy. This feature is enabled by default but can be disabled by using the parameter spec.configuration.configurationManagement.autoConfiguration.enabled: false (part of the k5project crd, default value: true). The following solution default configuration will be created automatically:

environment:
                    host: "<configured in the k5project crd (spec.hostname)>"
                    messagehub:
                    saslMechanism: "<configured in the k5-project-operator>"
                    saslJaasConfigLoginModule: "<configured in the k5-project-operator>"
                    feature:
                    apiBinding: true for Solution Envoys with type DEV, otherwise false
                    testSupport: true

Examples

Example body parameter for a typical development stage (data):

environment:
                    host: "cpd-runtime-default.apps.openshift-cluster.mydomain.cloud"
                    feature:
                    corsPolicy: true
                    devBinding: true
                    testSupport: true

Example body parameter for a typical production stage (data):

environment:
                    host: "prod.apps.openshift-cluster.mydomain.cloud"
                    feature:
                    corsPolicy: true