Deploying CDP DI API

This section provides detailed instructions on how to deploy HCL CDP DI API using the Devtron in the OpenShift.

Prerequisites:

Make sure to create the di-api secret with required data in the HashiCorp vault before deploying the CDP DI API.

To create the di-api secret in the HashiCorp Vault, follow the steps below:

  1. Create a di-api secret sample key and value in the UI secret, and update ConfigMaps data with actual values.
    {
      "ADV_6022_SECRET": "\"\"",
      "ADV_6022_URL": "\"\"",
      "ADV_6282_SECRET": "\"\"",
      "ADV_6282_URL": "\"\"",
      "aerospikeHostaps1": "\"<aerospikeHostaps1>\"",
      "aerospikeHostuse1": "\"\"",
      "aps1KafkaPassword": "\"<aps1KafkaPassword>\"",
      "aps1KafkaUsername": "\"<aps1KafkaUsername>\"",
      "dbhost": "\"<dbhost>\"",
      "dbpassword": "\"<dbpassword>\"",
      "dbusername": "\"<dbusername>\"",
      "kafkaconnectionStringaps1": "\"<kafkaconnectionStringaps1>\"",
      "kafkaconnectionStringuse1": "\"\"",
      "kmsUrl": "\"<kmsUrl>\"",
      "tdsbHost": "'<tdsbHost>'",
      "use1KafkaPassword": "\"\"",
      "use1KafkaUsername": "\"\""
    }

Deploying CDP DI API

To deploy the CDP DI API, follow the steps below:

  1. Navigate to the Devtron Chart Store, and select the cdp-di-api chart to deploy.

  2. Now, configure and deploy the CDP DI API charts.

  3. In the YAML section, update the ConfigMap using below details, and deploy the charts.
    dbconnectionLimit: "1"
    dbport: "3307"
    database: <database-name>
    use1KafkaClientId: <use1-kafka-client-id>
    use1KafkaConnectionTimeout: "3000"
    use1KafkaAuthenticationTimeout: "5000"
    use1KafkaReauthenticationThreshold: "10000"
    aps1KafkaClientId: <aps1-kafka-client-id>
    aps1KafkaConnectionTimeout: "3000"
    aps1KafkaAuthenticationTimeout: "5000"
    aps1KafkaReauthenticationThreshold: "10000"
    kafkatopic: <kafka-topic>
    cdpSenderTopic: <cdp-sender-topic>
    kafkaProducerEventType: "104"
    kafkasource: <kafka-source>
    isEncryptionEnabled: "false"
    kafkaSaslMechanism: SCRAM-SHA-512
    fromEmail: <from-email>
    toEmail: <to-email>
    aerospikenamespaceaps1: <aerospike-namespace-aps1>
    aerospikenamespaceuse1: <aerospike-namespace-use1>
    nodeProcessMemoryLimit: 1500M
    kafkaRegions: '{"<aws-region>": "<region-short-name>"}'
    DEFAULT_SRC: "'http://*.domain.com:* https://*.domain.com:* <allowed-default-src>'"
    FONT_SRC: "'http://*.domain.com:* https://*.domain.com:* <allowed-font-src>'"
    IMG_SRC: "'http://*.domain.com:* https://*.domain.com:* <allowed-img-src>'"
    SCRIPT_SRC: "'http://*.domain.com:* https://*.domain.com:* <allowed-script-src>'"
    STYLE_SRC: "'http://*.domain.com:* https://*.domain.com:* <allowed-style-src>'"
    CAMPAIGN_IDS: <campaign-id-list>
    aps1KafkaSslEnabled: "true"
    use1KafkaSslEnabled: "true"
    CTEVENTS_CAMPAIGN_LIST: "[]"
    ctEventsKafkaTopics: <ct-events-kafka-topic>
    EVENTS_CAMPAIGN_LIST: "'[{\"<campaign-id>\":\"<event-topic>\"}]'"
    defaultLogLevel: '"error"'

  4. On successful deployment, validate the deployment as shown below.