Deploying CDP Trigger
This section provides detailed instructions on how to deploy HCL CDP Trigger using the Devtron in the OpenShift.
Prerequisites
Make sure to create cdp-trigger secret in HashiCorp vault before deploying CDP Trigger.
To create CDP Trigger secret in the HashiCorp vault, follow the steps below:
- Create a cdp-trigger secret sample key and value, and update the actual values as shown
below.
{ "AerospikeCluster": "<AerospikeCluster>", "AerospikeTimeout": "10000", "KafkaConsumerConfig": "<KafkaConsumerConfig>", "KafkaProducerConfig": "<KafkaProducerConfig>", "KafkaProducerConfigaps1": "<KafkaProducerConfigaps1>", "MY_SQL_HOST": "<MY_SQL_HOST>", "MysqlDatabase": "<MysqlDatabase>", "MysqlPassword": "<MysqlPassword>", "MysqlPort": "<MysqlPort>", "MysqlUsername": "<MysqlUsername>", "allowTrafficForSpecificCampaign": "false" }
- Create a Kubernetes Secret with Vault credentials to fetch the secrets from the
vault.
apiVersion: v1 kind: Secret metadata: name: vault-creds namespace: cdp-dev-app type: Opaque data: username: <vault username> password: <vault password>
- Create separate service account cdp-dev-app-sa with appropriate roles and permissions, and update ConfigMaps data with actual values.
- Create required Kafka topics before deployment. A sample Kafka topic configuration is
shown below.
Deploy CDP Trigger
To deploy CDP Trigger using Devtron in Openshift platform, follow the steps below:
- Navigate to the Devtron Chart Store, and select cdp-trigger chart to deploy.
- Now, configure and deploy the cdp-trigger charts.
- In the YAML section, update the ConfigMap using the below details and deploy the chart.
APP_INFRA: k8s APP_REGION: ap-south-1 APP_TYPE: trigger--mu AWSRegion: us-east-1 AerospikeAppPushBin: ap AerospikeBookKeepingBin: bk AerospikeCacheExpiry: "48" AerospikeEmailBin: email AerospikeIcAndBookKeepingSetPrefix: impression_ AerospikeIcAndBookKeepingSetTTL: "8760" AerospikeImpressionCapBin: ic AerospikeNamespace: cdpstore AerospikePushFallbackBin: appfb AerospikePushFallbackSet: fallback AerospikePushFallbackSetTTL: "48" AerospikeRamanujanBin: tc AerospikeRamanujanSet: ramanujan AerospikeRamanujanSetTTL: "48" AerospikeSegmentSetTTL: "48" AerospikeSmsBin: sms AerospikeTimeout: "100000" AerospikeTriggerApiBin: "" AerospikeWebPushBin: wp AerospikeWhatsAppBin: wsap AppPushDelayedTriggerTopic: dmp_apn_tr AppPushImmediateTriggerTopic: dmp_apn_tr CeleryParamIgnore: IGNORE_IF_PRESENT CeleryParamOverride: OVERRIDE CeleryParamTrigger: TRIGGER CeleryTimeThresholdMinutes: "30" CeleryTriggerTopic: CeleryETALem EXECUTOR_SERVICE_MAX_THREADS: "4" EXECUTOR_SERVICE_MIN_THREADS: "2" EXECUTOR_SERVICE_QUEUE_SIZE: "100" EXECUTOR_SERVICE_THREAD_TTL: "5" EmailDelayedTriggerTopic: dmp_email_tr EmailImmediateTriggerTopic: dmp_email_tr InboundKafkaTopic: trigger_inbound KAFKA_CONSUMER_GROUP_ID: -trigger KAFKA_POLL_INTERVAL: "200" KAFKA_PRODUCER_EVENT_TYPE: "5656" KAFKA_PRODUCER_META: "true" KAFKA_PRODUCER_POOL_SIZE: "10" KAFKA_TOPIC_CONSUMER_BATCH_SIZE: 10,10,10 KAFKA_TOPIC_CONSUMER_DEFAULT_BATCH_TIMEOUT_MS: 1000,1000,1000 KAFKA_TOPIC_CONSUMER_DEFAULT_BATCH_TIMEOUT_TRIGGER: 5000,5000,5000 KAFKA_TOPIC_CONSUMERS: 6,6,6 KAFKA_TOPIC_LIST: dmp_rt_segments,ETANotify,dmp_journey_trigger KafkaCeleryNotify: ETANotify KafkaJourneyTopic: dmp_journey_trigger KafkaRTSegment: dmp_rt_segments KafkaRTSegmentOffline: dmp_rt_segments_offline LOG_LEVEL_APP: debug LOG_LEVEL_METRICS: info LOG_LEVEL_ROOT: info LOG_LEVEL_UTILS: info MAX_BATCH_EXECUTE_RETRIES: "3" MAX_EVENT_BATCH_LAG: "8" MysqlMapRefreshIntervalMinute: "1" OPEN_TSDB_HOST: <OPEN_TSDB_HOST> OPEN_TSDB_HOST_TO_BE_ADDED: "true" OPEN_TSDB_PORT: "80" ReportingIntervalInMin: "55" RtsSegOfflineRefreshDsName: rtsegofflinerefresh RtsSegOnlineRefreshDsName: rtsegonlinerefresh RtsSegRefreshDsName: rtsegrefresh SmsDelayedTriggerTopic: dmp_sms_tr SmsImmediateTriggerTopic: dmp_sms_tr TriggerApiDelayedTriggerTopic: dmp_trapi_tr TriggerApiImmediateTriggerTopic: dmp_trapi_tr UserFailureKafkaTopic: trigger_failure WebPushDelayedTriggerTopic: dmp_wpn_tr WebPushImmediateTriggerTopic: dmp_wpn_tr WhatsAppDelayedTriggerTopic: dmp_wsap_tr WhatsAppImmediateTriggerTopic: dmp_wsap_tr alertToEmailId: "" emailType: SMTP fromEmailId: "" hostname: trigger-prod-mu smtpHost: <OPEN_TSDB_HOST> smtpPort: "<smtpPort>"
- On successful deployment, validate the deployment as shown below.