Update Germany configuration for Imagine Dragons 9.5.0

Guidelines to update Germany default configuration for Imagine Dragons:

  • To apply the correct brand in all the channels and applications
  • To point to the correct Kernel deployment
  • To avoid issues of Databricks deployment compatibility with Confidential Computing

Prerequisites

  • In the corresponding Kernel deployment, all Aura datasets are published and the corresponding scopes are configured to aura-bot client.
  • There is an AURA_CONVERSATIONS container in Kernel Azure Storage.
  • A kubeconfig of the Aura environment must be configured.
  • Substitute <YOUR_ENV> with the corresponding pre-production environment: es-pre, es-cert, br-pre, de-pre, de-int, etc.
  • The installation output file (output_install/<YOUR_ENV>_info.json) to get:
    • The APIKey of Aura to access aura-configuration-api.
      • Substitute <AURA_API_KEY> with the obtained value.
PATH_TO_YOUR_OUTPUT_INSTALL_ENV_FILE=output_install/<YOUR_ENV>_info.json
AURA_API_KEY=$(cat ${PATH_TO_YOUR_OUTPUT_INSTALL_ENV_FILE}|jq -r .aura_bot_services_api_key)

Include new brand as a valid one

  • Connect to the environment using your kubeconfig.

  • Edit the config-map of aura-configuration-api to include the new brand.

    • To include WhatsAppSim in Germany as new brand, just substitute <NEW_BRAND_ID> with 0111.

    Access the full list of Brands defined in Kernel

kubectl -n <YOUR_ENV> edit cm aura-configuration-api -o 
apiVersion: v1
data:
  AURA_BRANDS: 0101,10000,<NEW_BRAND_ID>
...
  • Restart aura-configuration-api pods:
kubectl -n <YOUR_ENV> rollout restart aura-configuration-api

Change already existing channels and applications brands to point to the new one

Change channels

  • Substitute <UUID> with a valid UUID version 4 generated for every request.
  • Substitute <AURA_API_KEY> with the Aura API key read from the environment installation file.
  • Substitute <CHANNEL_ID> with the channel to be configured.
  • Substitute <NEW_BRAND_ID> with the brand to be configured.
curl --location --request PATCH 'https://<YOUR_ENV>.auracongnitve.com/aura-services/v2/configuration/channels/<CHANNEL_ID>'
\
--header 'correlator: <UUID>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY <AURA_API_KEY>' \
--data '{
    "id": "<CHANNEL_ID>",    
    "brand": "<NEW_BRAND_ID>"
}'
  • Changes in Germany, the previous PATCH should be executed twice, at least, once per existing channel:
    • Sprinklr web chat channel identifier: 33a4dcdc-0ef7-4bf1-886f-48d4fda2a031
    • Testing channel identifier: afec79db-dc0d-4c2e-a098-6c996503a7b4

Change applications

  • Substitute <UUID> with a valid UUID version 4 generated for every request.
  • Substitute <AURA_API_KEY> with the Aura APIKey read from the environment installation file.
  • Substitute <APPLICATION_ID> with the application to be configured.
  • Substitute <NEW_BRAND_ID> with the brand to be configured.
curl --location --request PATCH 'https://<YOUR_ENV>.auracongnitve.com/aura-services/v2/configuration/applications/<APPLICATION_ID>'
\
--header 'correlator: <UUID>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY <AURA_API_KEY>' \
--data '{
    "id": "<APPLICATION_ID>",    
    "brand": "<NEW_BRAND_ID>"
}'
  • Changes in Germany, the previous PATCH should be executed once, at least, to update ATRIA application:
    • ATRIA application: 7586c369-b6a0-4fa5-9416-d8b45920274c

Change Kernel configuration in Aura components

Review the following variables in your environment profile:

fourth_platform:
  client_id: "aura-bot" # Aura 4P app client id
  client_secret: !vault |
          $ANSIBLE_VAULT;1.1;AES256
          <THE_SECRET_FOR_AURA_BOT_IN_KERNEL>
  apigw_url: "https://api.<KERNEL_DEPLOYMENT>.baikalplatform.com" # must be filled with the right value. Usually https://api.{{environment_profile}}-{{environment_type}}.baikalplatform.com
  • For example, in Germany, for WhatsappSim Kernel, the URL should be:
    • de-int: https://api.de-int-whatsappsim.baikalplatform.com
    • de-pre: https://api.de-pre-whatsappsim.baikalplatform.com
    • de-pro: https://api.de-pro-whatsappsim.baikalplatform.com
  • For aura-kpis-uploader, assure that AURA_MICROSOFT_AZURE_STORAGE_CONTAINER_DESTINATION and AURA_MICROSOFT_AZURE_STORAGE_ACCESS_KEY_DESTINATION belong to the corresponding Kernel deployment.
  • Execute deploy_core to assure that the configuration is applied everywhere.

Configure Databricks deployment to be compatible with Confidential Computing

Follow these guidelines:

  • Delete existing workspace

    • If you have already deployed Databricks using deploy_common phase, the first step is to delete the current workspace before redeploying it with the correct configuration for Confidential Computing.
    • Go to the Azure dashboard and navigate to the resource group where your Databricks workspace is located (usually the common resource group used in the initial deployment).
    • Select the Databricks workspace resource and delete it.

  • Set up the environment for Confidential Computing

    • Once the workspace is deleted, you need to adjust the configuration variables to make the new deployment compatible with Confidential Computing. Add the following variables to the environment configuration:
    databricks_enhanced_security_compliance: false
    databricks:
      cluster:
        node_type_id: "Standard_DC8as_v5"
    
  • Explanation of the variables

    • databricks_enhanced_security_compliance: Set to false to avoid additional security compliance configurations that are not needed in this context, and to remove the ability to use confidential type machines.
    • databricks.cluster.node_type_id: This is configured, for example, as “Standard_DC8as_v5”, which is a Confidential Computing node type in Azure.

  • Deploying the workspace with the new configuration

    • To deploy Databricks, we need to re-run the deploy_common phase with the new configuration.
    • Once the deployment is complete, the Databricks workspace will be configured to use Confidential Computing nodes.
    • To configure the Databricks job we must run again the deploy_core.