The Optimization Server can be deployed using a set of Helm charts. The chart supports both Kubernetes and OKD/Openshift plaforms.
There are 4 Helm charts that must be deployed in the following order:
Additionally you can install:
You can download the charts directly by clicking on the links above or add the DecisionBrain Helm registry
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.2.2/
|-- dbos-secrets-3.2.2/
|-- dbos-infra-3.2.2/
|-- dbos-3.2.2/
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.2.2 | 3.2.2 | … |
decisionbrain/dbos-infra | 3.2.2 | 3.2.2 | … |
decisionbrain/dbos-secrets | 3.2.2 | 3.2.2 | … |
decisionbrain/dbos-volumes | 3.2.2 | 3.2.2 | … |
decisionbrain/dbos-cplexstudio-workers | 3.2.2 | 3.2.2 | … |
decisionbrain/dbos-workers-on-demand | 3.2.2 | 3.2.2 | … |
These 4 charts share a same set of global values.
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 and access protocol and route kind :
global:
domain: mydomain.com
protocol: https # http or https
routeKind: Ingress # (Ingress, IngressRoute, IngressGateway) for target = k8s, do not set this property for target = okd
The charts support the following Ingress providers:
routeKind | Provider |
---|---|
Ingress | nginx |
IngressRoute | traefik |
IngressGateway | istio |
Configure your image puller:
global:
...
pullers:
- name: dbos-registry.decisionbrain.cloud # do not change this.
dockerconfigjson: XXXXX
Where ‘XXXXX’ is the token you have been given to access the DecisionBrain’s docker repository.
Choose your authentication mechanism :
global:
authMode: keycloak # keycloak or basicAuth