Configuring external databases for the capabilities in DevOps Loop

You can configure external databases for the capabilities in DevOps Loop and provide the database URL in the helm chart to connect the capabilities to external database.

Overview

You can configure external databases using Helm charts for the capabilities in DevOps Loop. Each product may require different settings or secrets, which are defined in Helm chart values and configuration files. This topic summarizes how to configure databases for Deploy, Plan, Build, Measure, Release, and Test capabilities.

Plan

To configure an external database for Plan. Refer to Helm chart external database configuration.

Build

Build uses the same MySQL database as Deploy. You must configure the Deploy Helm chart with MySQL. To configure the Build Helm chart to use this external database, you must update the following Helm values:

Helm Values for External MySQL

You must use the following values under HELM_OPTIONS:

--set hcl-devops-build.externalDB.enabled=true \
--set hcl-devops-build.externalDB.hostname=<MYSQL_HOST> \
--set hcl-devops-build.externalDB.port=<MYSQL_PORT> \
--set hcl-devops-build.externalDB.database=<DATABASE_NAME> \
--set hcl-devops-build.externalDB.user=<DATABASE_USER> \
--set hcl-devops-build.secret.name=build-secret

You must replace the following placeholders with your actual MySQL configuration:

  • <MYSQL_HOST> – Hostname or IP of the MySQL server

  • <MYSQL_PORT> – MySQL port (default: 3306)

  • <DATABASE_NAME> – Name of the MySQL database (e.g., devops_build)

  • <DATABASE_USER> – MySQL username

Setting the database password

You must create a Kubernetes secret that contains the database password by running the following command:

BUILD_DB_PASSWORD=<DATABASE_PASSWORD>
kubectl create secret generic build-secret -n devops-loop --from-literal=dbpassword="$BUILD_DB_PASSWORD"

⚠️ Important: The BUILD_DB_PASSWORD must match the password assigned to the MySQL user.

Deploy

To configure an external database for Deploy, refer to the Prerequisites and Parameters sections of the README file in Helm chart. Helm values related to database configuration begin with database.

Measure and Release

To configure an external database for Measure and Release, create a secret named mongodb-url-secret with a property named password after installing the MongoDB instance. The value should follow this format:

mongodb://<user>:<password>@<host>:<port>/<auth_database>

Example command:

kubectl create secret generic mongodb-url-secret --namespace devops-automation --from-literal=password="${MONGO_URL}"

Set the Helm chart value to reference the secret:

--set ibm-ucv-prod.secrets.database=mongodb-url-secret

For more information, refer to Velocity installation prerequisites.

DevOps Test

Support for configuring external databases in DevOps Test will be provided in an upcoming release.