Deploying CDP DI API

This section describes the steps to configure and deploy the HCL CDP DI API on an AKS cluster using the provided Helm chart.

Before you begin

The required HCL CDP Helm charts and container images must be downloaded and pushed to the container registry. For more information, see the Downloading HCL CDP Artifacts section.

Create the CDP DI API secret in HashiCorp Vault with the following sample key-value structure and update with actual values:

{
  "ADV_6022_SECRET": "", "ADV_6022_URL": "",
  "ADV_6282_SECRET": "", "ADV_6282_URL": "",
  "aerospikeHostaps1": "", "aerospikeHostuse1": "",
  "aerospikePasswordaps1": "", "aerospikePassworduse1": "",
  "aerospikeUseraps1": "", "aerospikeUseruse1": "",
  "aps1KafkaPassword": "", "aps1KafkaUsername": "",
  "dbhost": "", "dbpassword": "", "dbusername": "",
  "kafkaconnectionStringaps1": "", "kafkaconnectionStringuse1": "",
  "kmsUrl": "", "tdsbHost": "",
  "use1KafkaPassword": "", "use1KafkaUsername": ""
}

Procedure

  1. Configure chart-location/cdp-di-api/values.yaml with the environment-specific configuration.
  2. Enable ConfigMaps and configure the required CDP DI API application URLs.
  3. Update the CDP DI API container image repository and required image version/tag.
  4. Verify the image pull secret exists.
    kubectl get secret hclcr-cred -n cdp-dev-app
  5. Enable Ingress and configure the required hostname, path, and TLS settings.
  6. Ensure the vault-creds Secret exists.
    kubectl get secret vault-creds -n cdp-dev-app
  7. The init container retrieves the di-api secret from CDP_Secrets and writes it to /etc/secrets/mysecrets.json.
  8. Verify or create the namespace.
    kubectl get namespace cdp-dev-app

    If the namespace does not exist, create it:

    kubectl create namespace cdp-dev-app
  9. Install CDP DI API using Helm.
    helm install cdp-di-api \
      chart-location/cdp-di-api \
      -f chart-location/cdp-di-api/values.yaml \
      -n cdp-dev-app
  10. Verify the Helm release status.
    helm list -n cdp-dev-app

    Expected status: deployed.

  11. Verify the deployment and pods.
    kubectl get deployment -n cdp-dev-app
    kubectl get pods -n cdp-dev-app -l k8s-app=cdp-di-api

    Expected pod status: READY 1/1, STATUS Running.