Deploy with Helm

The Optimization Server can be deployed using a set of Helm charts. The chart supports both Kubernetes and OKD/Openshift plaforms.

There are 5 Helm charts that must be deployed in the following order:

  • dbos-volumes : deploys volumes for persistent data
  • dbos-secrets : stores the usernames, database names and passwords into secrets objects.
  • dbos-infra : deploys third party pieces of software Optimization Server depends on (Keycloak, Postgres, RabbitMQ, MongoDB)
  • dbos : deploys the Optimization Server application itself.
  • ingress : deploys routes to reach the Optimization Server application from outside the the Kubernetes / OpenShift cluster.

Additionally you can install:

You can download the charts directly by clicking on the links above or add the DecisionBrain Helm registry

Download the charts

Before starting configuration and deployment, download and unzip the charts, and create a values.yaml file in the root folder for later configuration steps.

|-- values.yaml
|-- dbos-volumes-3.4.1/
|-- dbos-secrets-3.4.1/
|-- dbos-infra-3.4.1/
|-- dbos-3.4.1/
|-- ingress-0.1.0/
|-- dbos-cplexstudio-workers-3.4.1/
|-- dbos-workers-on-demand-3.4.1/

the values.yaml file may contain the following sections:

global:
...
# infra
rabbitmq:
...
mongo:
...
postgres:
...
keycloak:
...
# Optimization Server
console:
...
documentation:
...
master:
...
# cplex 
dbos-cplexstudio-workers: # optional
...
dbos-workers-on-demand: # optional
...

Or add the DecisionBrain Helm registry

Add the DecisionBrain Helm registry to your Helm repositories list

helm repo add decisionbrain https://nexus.decisionbrain.cloud/repository/dbos-helm/ --username <userId> --password <password>

Check you can see the charts.

helm search repo dbos

Expected output:

NAME CHART VERSION APP VERSION DESCRIPTION
decisionbrain/dbos 3.4.1 3.4.1
decisionbrain/dbos-infra 3.4.1 3.4.1
decisionbrain/dbos-secrets 3.4.1 3.4.1
decisionbrain/dbos-volumes 3.4.1 3.4.1
decisionbrain/dbos-cplexstudio-workers 3.4.1 3.4.1
decisionbrain/dbos-workers-on-demand 3.4.1 3.4.1
decisionbrain/ingress 0.1.0 0.1.0

Global Configuration

Some global properties are shared among the charts:

Fill the values.yaml file with the following to deploy the charts on a Kubernetes or Openshift cluster:

global:
  target: k8s # k8s (Kubernetes) or okd

Choose your domain

global:
  domain: mydomain.com

For the chart specific configuration, see the related pages:

Choose your authentication mechanism :

global:
  authMode: keycloak # keycloak or basicAuth