Deploying CDP Core API
This section provides detailed instructions on how to deploy HCL CDP Core API using the Devtron in the OpenShift.
Prerequisites:
Make sure to create a core-api secret with required data in the HashiCorp vault before deploying the CDP core api.

To create the core api secret in the HashiCorp Vault, follow the steps below:
- Create a core api secret sample key and value in the core api secret, and update
ConfigMaps data with actual values.
{ "X_API_KEY": "\"\"", "X_API_SECRET": "\"\"", "akamaiHost": "\"\"", "akamaiKey": "\"\"", "akamaiKeyName": "\"\"", "akamaiPath": "\"\"", "akamaiPurgeauthkey": "\"\"", "amqpAuthMechanism": "\"\"", "amqpHost": "\"\"", "amqpLogin": "\"\"", "amqpPassword": "\"\"", "amqpPort": "\"\"", "dbConnectionLimit": "\"80\"", "dbDatabase": "\"<dbName>\"", "dbHost": "\"<dbHost>\"", "dbPassword": "\"<dbPassword>\"", "dbPort": "\"<dbPort>\"", "dbUser": "\"<dbUser>\"", "hclcdp_mailId": "\"\"", "hclcdp_mailPassword": "\"\"", "mailId": "\"\"", "mailPassword": "\"\"", "stagingS3AccessKey": "\"\"", "stagingSecretAccessKey": "\"\"", "userIdentifierAuthKey": "\"<userIdentifierAuthKey>\"" }
Deploying CDP CORE API
To deploy the CDP core API, follow the steps below:
- Navigate to the Devtron Chart Store, and select the cdp-core-api chart to
deploy.
.png)
- Now, configure and deploy the cdp core api charts.

- In the YAML section, update the ConfigMap using below details and deploy
the charts.
druidURL: "<DRUID_URL>" tsdbURL: "<TSDB_URL>" uploadsBucket: <UPLOADS_BUCKET_NAME> uploadsFolder: <UPLOADS_FOLDER_NAME> segmentUserListuploadsBucket: <SEGMENT_UPLOADS_BUCKET> segmentUserListuploadsFolder: <SEGMENT_UPLOADS_FOLDER> TPPActivationUrl: "<TPP_ACTIVATION_URL>" hasSegRefreshQueueEnabled: "<SEG_REFRESH_QUEUE_CAMPAIGN_LIST>" whiteListCrudAlertMails: "<CRUD_ALERT_EMAIL_LIST>" enablePrometheus: "<BOOLEAN>" suppressionList: "<SUPPRESSION_LIST_CONFIG>" productCatalog: "<PRODUCT_CATALOG_CONFIG>" rts_endpoint: "<RTS_ENDPOINT>" disableActivation: | <DISABLED_ACTIVATION_CAMPAIGN_LIST> s3Bucket: <PRIMARY_S3_BUCKET> DSN: "<DSN>" cdpDashboardService: "<CDP_DASHBOARD_SERVICE_URL>" rmq: <RABBITMQ_QUEUE_NAME> javascript_sdk_endpoint: "<JS_SDK_ENDPOINT>" sendRabbitmqMessageDisabled: "<BOOLEAN>" API: "<API_ENDPOINT>" cdnImagePrefixWithoutProtocol: "<CDN_IMAGE_PREFIX_NOPROTO>" cdnImageWithProtocol: "<CDN_IMAGE_PREFIX_PROTO>" cdnFallbackImageWithoutProtocol: "<CDN_FALLBACK_IMAGE_PREFIX>" urlShortnerConfigDomain: "<URL_SHORTENER_DOMAIN>" sendEmailDomain: "<EMAIL_SENDER_DOMAIN>" uibase: "<UI_BASE_URL>" reportAutomationApiKeyUrl: "<REPORT_AUTOMATION_APIKEY_URL>" accessTokenLifeTime: "<ACCESS_TOKEN_LIFETIME_SECONDS>" segRefreshQueue: "<SEG_REFRESH_QUEUE_NAME>" enableCrudAlertForCampaigns: | <CRUD_ALERT_CAMPAIGN_LIST> isKmsEncryptDisabled: "<BOOLEAN>" disablePageres: "<BOOLEAN>" tableauProxy: "<TABLEAU_PROXY_URL>" channelQueue: <CHANNEL_QUEUE_NAME> engagementScheduleQueue: "<ENGAGEMENT_SCHEDULE_QUEUE>" journeyDisableQueue: "<JOURNEY_DISABLE_QUEUE>" webPushQueue: <WEB_PUSH_QUEUE_NAME> adhocBucket: "<ADHOC_BUCKET>" adhocQueue: "<ADHOC_QUEUE>" adHocFileLoc: "<ADHOC_FILE_LOCATION>" adHocCancelQueue: "<ADHOC_CANCEL_QUEUE>" sslEnabled: "<BOOLEAN>" offlineProfileUploadBucket: "<OFFLINE_PROFILE_BUCKET>" offlineProfileUploadFolder: "<OFFLINE_PROFILE_FOLDER>" disableNotification: "<BOOLEAN>" tableauURL: "<TABLEAU_URL>" kms_encrypt: "<KMS_ENCRYPT_FUNCTION>" kms_decrypt: "<KMS_DECRYPT_FUNCTION>" kms_region: <KMS_REGION> allowedTags: "<HTML_ALLOWED_TAG_LIST>" allowedAttributes: "<HTML_ALLOWED_ATTRIBUTE_MAP>" tawuniyaCoreApi: "<EXTERNAL_CORE_API_ENDPOINT>" psql_endpoint: "<POSTGRES_ENDPOINT>" psql_host: "<POSTGRES_HOST>" fileUploadTimeout: "<FILE_UPLOAD_TIMEOUT_MS>" CampaignRegionList: "<CAMPAIGN_REGION_MAPPING>" muUserIdentifierDomain: "<MU_USER_IDENTIFIER_DOMAIN>" usUserIdentifierDomain: "<US_USER_IDENTIFIER_DOMAIN>" sftpFilePath: "<SFTP_FILE_PATH>" sstApiVersion: <SST_API_VERSION> devMode: "<BOOLEAN>" DEFAULT_SRC: "<CSP_DEFAULT_SRC_LIST>" FONT_SRC: "<CSP_FONT_SRC>" IMG_SRC: "<CSP_IMG_SRC>" SCRIPT_SRC: "<CSP_SCRIPT_SRC>" STYLE_SRC: "<CSP_STYLE_SRC>" minioAccessKeyId: "<MINIO_ACCESS_KEY_ID>" minioSecretAccessKey: "<MINIO_SECRET_ACCESS_KEY>" minioEndpoint: "<MINIO_ENDPOINT>" FROM_EMAIL_ID: "<FROM_EMAIL_ID>" ALERT_TO_EMAIL_ID: "<ALERT_TO_EMAIL_ID>" BUCKET_TYPE: "<BUCKET_TYPE>" detectConfig: "<DETECT_CONFIG>" hclcdp_uibase: "<HCLCDP_UI_BASE>" hclcdp_mailId: "<HCLCDP_MAIL_ID>" hclcdp_mailPassword: "<HCLCDP_MAIL_PASSWORD>" awsAccessKeyId: "<AWS_ACCESS_KEY_ID>" sampleBucket: "<SAMPLE_BUCKET>" sampleFolder: "<SAMPLE_FOLDER>" webpushBucket: "<WEBPUSH_BUCKET>" webpushFolder: "<WEBPUSH_FOLDER>" engageQueue: "<ENGAGE_QUEUE>" notificationQueue: "<NOTIFICATION_QUEUE>" clickTrackerEmail: "<CLICK_TRACKER_EMAIL>" clientRequestEmailTo: "<CLIENT_REQUEST_EMAIL_TO>" clientRequestEmailCC: "<CLIENT_REQUEST_EMAIL_CC>" apibase: "<API_BASE_DOMAIN>" adserver: "<ADSERVER_URL>" imageLink: "<IMAGE_LINK>" imageLinkWithoutProtocol: "<IMAGE_LINK_NO_PROTOCOL>" cdnImageWithoutProtocol: "<CDN_IMAGE_NO_PROTOCOL>" retargetStage: "<RETARGET_STAGE>" retargetSection: "<RETARGET_SECTION>" retargetLevel: "<RETARGET_LEVEL>" segmentationSuffix: "<SEGMENTATION_SUFFIX>" segmentationCountSuffix: "<SEGMENTATION_COUNT_SUFFIX>" programmaticId: "<PROGRAMMATIC_ID>" fbRhsId: "<FB_RHS_ID>" fbNfId: "<FB_NF_ID>" onsiteRecoId: "<ONSITE_RECO_ID>" port: "<PORT>" channelsProgrammatic: "<CHANNEL_PROGRAMMATIC>" channelsFbnf: "<CHANNEL_FBNF>" channelsFbrhs: "<CHANNEL_FBRHS>" channelsOnsitereco: "<CHANNEL_ONSITE_RECO>" channelsOnsitenot: "<CHANNEL_ONSITE_NOTIF>" channelsEmail: "<CHANNEL_EMAIL>" channelsAppPush: "<CHANNEL_APP_PUSH>" channelsSms: "<CHANNEL_SMS>" channelsWebpush: "<CHANNEL_WEBPUSH>" channelsNb: "<CHANNEL_NB>" channelsBp: "<CHANNEL_BP>" channelsInApp: "<CHANNEL_INAPP>" channelsWhatsapp: "<CHANNEL_WHATSAPP>" verticalIdFlight: "<VERTICAL_ID_FLIGHT>" verticalIdEcommerce: "<VERTICAL_ID_ECOMMERCE>" mobidmpBucket: "<MOBIDMP_BUCKET>" mobidmpFolder: "<MOBIDMP_FOLDER>" googleApiClientId: "<GOOGLE_API_CLIENT_ID>" googleApiClientSecret: "<GOOGLE_API_CLIENT_SECRET>" googleApiRedirectUrl: "<GOOGLE_API_REDIRECT_URL>" facebookAccessToken: "<FACEBOOK_ACCESS_TOKEN>" facebookPageId: "<FACEBOOK_PAGE_ID>" facebookBusinessId: "<FACEBOOK_BUSINESS_ID>" facebookSystemUserId: "<FACEBOOK_SYSTEM_USER_ID>" facebookVersion: "<FACEBOOK_VERSION>" flowThroughChannelsSms: "<FLOW_THROUGH_CHANNEL_SMS>" flowThroughChannelsEmail: "<FLOW_THROUGH_CHANNEL_EMAIL>" crudAlertsRegion: "<CRUD_ALERTS_REGION>" crudAlertsVersion: "<CRUD_ALERTS_VERSION>" crudAlertsFrom: "<CRUD_ALERTS_FROM>" crudAlertsTo: "<CRUD_ALERTS_TO>" sesConfigRegion: "<SES_REGION>" sesConfigVersion: "<SES_VERSION>" sesConfigFrom: "<SES_FROM>" sesConfigTo: "<SES_TO>" ConfigDMPchannelIdJourneyApi: "<DMP_CHANNEL_ID_JOURNEY_API>" ConfigDMPchannelIdExternalApi: "<DMP_CHANNEL_ID_EXTERNAL_API>" CORS: | <CORS_RULE_1> <CORS_RULE_2> <CORS_RULE_3> <CORS_RULE_4> <CORS_RULE_5> <CORS_RULE_6> <CORS_RULE_7> <CORS_RULE_8> <CORS_RULE_9> <CORS_RULE_10> blowFishKey: "<BLOWFISH_KEY>" ALLOWED_HOSTS: | <ALLOWED_HOST_1> <ALLOWED_HOST_2> LINK_USERNAME: "<LINK_USERNAME>" LINK_PASSWORD: "<LINK_PASSWORD>" linkBaseUrl: "<LINK_BASE_URL>" linkBaseUrlClient: "<LINK_BASE_URL_CLIENT>" linkProjectId: "<LINK_PROJECT_ID>" LINK_RUNTIME_SERVER: "<LINK_RUNTIME_SERVER>" LINK_SERVER_ID: "<LINK_SERVER_ID>" LINK_DESIGN_SERVER: "<LINK_DESIGN_SERVER>" LINK_CLIENT_URL: "<LINK_CLIENT_URL>" LINK_PROJECT_ID: "<LINK_PROJECT_ID>" LINK_PROJECT_NAME: "<LINK_PROJECT_NAME>" LINK_SERVER_NAME: "<LINK_SERVER_NAME>" CLICKHOUSE_URL: "<CLICKHOUSE_URL>" isClickhouseEnabled: "<BOOLEAN>".png)
- On successful deployment, validate the deployment as shown below.
