Deploying CDP KMS Service

This section describes the steps to configure and deploy the HCL CDP KMS Service 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 KMS Service secret in HashiCorp Vault with the following sample key-value structure and update with actual values:

{
  "CAMPAIGN_DEFAULT_TTL": "",
  "DbDriver": "", "DbPassword": "", "DbUrl": "", "DbUsername": "",
  "KMS_HASHICORPVAULT_ENDPOINT": "",
  "KMS_HASHICORPVAULT_ENDPOINT_TOKEN": "",
  "KMS_IMPLEMENTATION": "",
  "awsRegions": "", "supportedRegions": ""
}

Procedure

  1. Configure chart-location/cdp-kms-service/values.yaml with the environment-specific configuration.
  2. Enable ConfigMaps and configure the required CDP KMS Service application URLs.
  3. Update the CDP KMS Service 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 kms-service 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 KMS Service using Helm.
    helm install cdp-kms-service \
      chart-location/cdp-kms-service \
      -f chart-location/cdp-kms-service/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-kms-service

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