diff --git a/ansible/artifacts/sunbird/login/resources/js/telemetry_service.js b/ansible/artifacts/sunbird/login/resources/js/telemetry_service.js
index 001aac41a27b3f1132c2c8dab3ce405832947114..fa1a23a3de9bb45124c096826bc11d07d1607d26 100644
--- a/ansible/artifacts/sunbird/login/resources/js/telemetry_service.js
+++ b/ansible/artifacts/sunbird/login/resources/js/telemetry_service.js
@@ -2506,7 +2506,7 @@ if(client_id.toLowerCase() === 'android'){
     "telemetry": {
       "pdata": {
         "id": pdataId,
-        "ver": "4.10.0",
+        "ver": "4.10.3",
         "pid": "sunbird-portal"
       }
     }
diff --git a/ansible/roles/keycloak-deploy/tasks/bootstrap.yml b/ansible/roles/keycloak-deploy/tasks/bootstrap.yml
index 7df5d1e5038d84865cbf280fdfee7f9a2e83d402..dcefe36e30599ce7a8caecf5613e9d214dd52930 100644
--- a/ansible/roles/keycloak-deploy/tasks/bootstrap.yml
+++ b/ansible/roles/keycloak-deploy/tasks/bootstrap.yml
@@ -28,7 +28,6 @@
   shell: "nohup {{keycloak_home}}/bin/standalone.sh -Dkeycloak.profile.feature.upload_scripts=enabled -b={{ansible_default_ipv4.address}} -bprivate={{ansible_default_ipv4.address}} --server-config standalone-ha.xml &"
   become: yes
   become_user: "{{ wildfly_user }}"
-  run_once: true
   notify: wait for keycloak to start
 
 - meta: flush_handlers
@@ -37,7 +36,6 @@
   apt:
     name: ["python-setuptools"]
     update_cache: true
-  run_once: true
 
 - name: Ensure python packages are installed
   apt: 
@@ -55,38 +53,32 @@
   copy:
     src: "{{ role_path }}/files/python-keycloak-0.12.0"
     dest: /tmp/
-  run_once: true
 
 - name: Initialize python library to run keycloak bootstrap script
   shell: cd /tmp/python-keycloak-0.12.0 && python setup.py install
-  run_once: true
 
 - name: Save keycloak vars to json
   template:
     src: "keycloak-bootstrap.conf.j2"
     dest: "/tmp/keycloak-bootstrap.conf.json"
     mode: "0644"
-  run_once: true
 
 - name: Copy realm json file to tmp location
   template:
     src: "keycloak-realm.j2"
     dest: "/tmp/keycloak-realm.json"
     mode: "0644"
-  run_once: true
 
 - name: Copy user manager roles file to tmp location
   copy:
     src: "files/python-keycloak-0.12.0/roles.json"
     dest: "/tmp/roles.json"
     mode: "0644"
-  run_once: true
 
 - name: Copy the keycloak bootstrap script
   copy:
     src: "{{ role_path }}/files/python-keycloak-0.12.0/keycloak"
     dest: /tmp
-  run_once: true
 
 - name: Run the keycloak bootstrap script
   shell: cd /tmp/keycloak/ && python keycloak_main.py /tmp/keycloak-bootstrap.conf.json
diff --git a/ansible/roles/stack-sunbird/templates/inbound.env b/ansible/roles/stack-sunbird/templates/inbound.env
index 7b48fe115350d60a7013b9c62d36c51dd52b68bf..c8ed1a515721a131cf1d71c717398f0bcf97fed6 100644
--- a/ansible/roles/stack-sunbird/templates/inbound.env
+++ b/ansible/roles/stack-sunbird/templates/inbound.env
@@ -12,6 +12,7 @@ KAFKA_OUTBOUND_TOPIC={{env_name}}.outbound
 KAFKA_TELEMETRY_TOPIC={{env_name}}.uci.telemetry
 KAFKA_ODK_TRANSFORMER_TOPIC={{env_name}}.odk.transformer
 KAFKA_ODK_TRANSFORMER_TOPIC_PATTERN={{env_name}}.odk.*
+KAFKA_MESSAGE_REPORT_TOPIC={{env_name}}.message-report
 
 #FormsDB
 FORMS_DB_URL=postgresql://{{uci_postgres_host}}:5432/{{uci_forms_postgres_database}}
@@ -56,6 +57,7 @@ REDIS_DB_INDEX={{redis_db_index_uci | default('7')}}
 AZURE_BLOB_STORE_CONTAINER={{sunbird_azure_uci_container_name | default('uci-' + env )}}
 AZURE_BLOB_STORE_ACCOUNT_KEY={{sunbird_private_storage_account_name}}
 AZURE_BLOB_STORE_ACCOUNT_NAME={{sunbird_private_storage_account_key}}
+SELECTED_FILE_CDN=azure
 
 #Netcore
 NETCORE_WHATSAPP_AUTH_TOKEN={{uci_netcore_whatsapp_token}}
diff --git a/ansible/roles/stack-sunbird/templates/orchestrator.env b/ansible/roles/stack-sunbird/templates/orchestrator.env
index bd6b974a11a346b2c8c9d092fecbc52a75358c88..4165f7dcebf68b51fbba867edae0c144365c7406 100644
--- a/ansible/roles/stack-sunbird/templates/orchestrator.env
+++ b/ansible/roles/stack-sunbird/templates/orchestrator.env
@@ -12,6 +12,9 @@ KAFKA_OUTBOUND_TOPIC={{env_name}}.outbound
 KAFKA_TELEMETRY_TOPIC={{env_name}}.uci.telemetry
 KAFKA_ODK_TRANSFORMER_TOPIC={{env_name}}.odk.transformer
 KAFKA_ODK_TRANSFORMER_TOPIC_PATTERN={{env_name}}.odk.*
+KAFKA_PROCESS_OUTBOUND={{env_name}}.process-outbound
+KAFKA_BROADCAST_TRANSFORMER_TOPIC={{env_name}}.broadcast-transformer
+KAFKA_GENERIC_TRANSFORMER_TOPIC={{env_name}}.generic-transformer
 
 #Dummy config: To be removed later
 KAFKA_LOGS_TOPIC={{env_name}}.inbound-unprocessed
@@ -21,11 +24,14 @@ FORMS_DB_URL=postgresql://{{uci_postgres_host}}:5432/{{uci_forms_postgres_databa
 FORMS_DB_USERNAME={{uci_postgres_user}}
 FORMS_DB_PASSWORD={{uci_postgres_password}}
 FORMS_DB_NAME={{uci_forms_postgres_database}}
+FORMS_DB_HOST={{uci_postgres_host}}
+FORMS_DB_PORT=5432
 
 #Cassandra
 CASSANDRA_URL={{sunbird_cassandra_host}}
 CASSANDRA_PORT=9042
 CASSANDRA_KEYSPACE={{env}}_uci_store
+CASSANDRA_MIGRATION_COUNT={{uci_cassandra_migration_count | default(1)}}
 
 #Ports
 ORCHESTRATOR_INTERNAL_PORT=8686
diff --git a/ansible/roles/stack-sunbird/templates/outbound.env b/ansible/roles/stack-sunbird/templates/outbound.env
index a76df2cce365ee4985e1bc4f933adf1b850ced46..bac1d980e82e97e68164b0bdc75ada40b1d8cb2a 100644
--- a/ansible/roles/stack-sunbird/templates/outbound.env
+++ b/ansible/roles/stack-sunbird/templates/outbound.env
@@ -18,6 +18,8 @@ FORMS_DB_URL=postgresql://{{uci_postgres_host}}:5432/{{uci_forms_postgres_databa
 FORMS_DB_USERNAME={{uci_postgres_user}}
 FORMS_DB_PASSWORD={{uci_postgres_password}}
 FORMS_DB_NAME={{uci_forms_postgres_database}}
+FORMS_DB_HOST={{uci_postgres_host}}
+FORMS_DB_PORT=5432
 
 #Cassandra
 CASSANDRA_URL={{sunbird_cassandra_host}}
@@ -55,3 +57,4 @@ REDIS_DB_INDEX={{redis_db_index_uci | default('7')}}
 AZURE_BLOB_STORE_CONTAINER={{sunbird_azure_uci_container_name | default('uci-' + env )}}
 AZURE_BLOB_STORE_ACCOUNT_KEY={{sunbird_private_storage_account_name}}
 AZURE_BLOB_STORE_ACCOUNT_NAME={{sunbird_private_storage_account_key}}
+SELECTED_FILE_CDN=azure
diff --git a/ansible/roles/stack-sunbird/templates/transformer.env b/ansible/roles/stack-sunbird/templates/transformer.env
index 30963cb81fb89f58257457bcdb899ec486c8a325..fd2e6d00aa55242c05c8970f6e3d0fc70cf40a85 100644
--- a/ansible/roles/stack-sunbird/templates/transformer.env
+++ b/ansible/roles/stack-sunbird/templates/transformer.env
@@ -13,6 +13,8 @@ KAFKA_TELEMETRY_TOPIC={{env_name}}.uci.telemetry
 KAFKA_ODK_TRANSFORMER_TOPIC={{env_name}}.odk.transformer
 KAFKA_ODK_TRANSFORMER_TOPIC_PATTERN={{env_name}}.odk.*
 KAFKA_LOGS_TOPIC={{env_name}}.inbound-unprocessed
+KAFKA_PROCESS_OUTBOUND={{env_name}}.process-outbound
+KAFKA_BROADCAST_TRANSFORMER_TOPIC={{env_name}}.broadcast-transformer
 
 #FormsDB
 FORMS_DB_URL=postgresql://{{uci_postgres_host}}:5432/{{uci_forms_postgres_database}}
@@ -26,6 +28,7 @@ FORMS_DB_PORT=5432
 CASSANDRA_URL={{sunbird_cassandra_host}}
 CASSANDRA_PORT=9042
 CASSANDRA_KEYSPACE={{env}}_uci_store
+CASSANDRA_MIGRATION_COUNT=1
 
 #Ports
 TRANSFORMER_INTERNAL_PORT=9091
@@ -61,4 +64,14 @@ ENV={{env}}
 REDIS_HOST={{sunbird_redis_host}}
 REDIS_PASS={{sunbird_redis_pass | default('')}}
 REDIS_PORT={{sunbird_redis_port | default(6379)}}
-REDIS_DB_INDEX={{redis_db_index_uci | default('7')}}
\ No newline at end of file
+REDIS_DB_INDEX={{redis_db_index_uci | default('7')}}
+
+# Events 
+EXHAUST_TELEMETRY_ENABLED=TRUE
+POSTHOG_EVENT_ENABLED=FALSE
+
+#Azure Config
+AZURE_BLOB_STORE_CONTAINER={{sunbird_azure_uci_container_name | default('uci-' + env )}}
+AZURE_BLOB_STORE_ACCOUNT_KEY={{sunbird_private_storage_account_name}}
+AZURE_BLOB_STORE_ACCOUNT_NAME={{sunbird_private_storage_account_key}}
+SELECTED_FILE_CDN=azure
\ No newline at end of file
diff --git a/kubernetes/helm_charts/sunbird-RC/registry/values.j2 b/kubernetes/helm_charts/sunbird-RC/registry/values.j2
index b7b4bbbb7329c82062712275af78d1a96410d92c..e7e6e6f31c2659e0486185571a32a3dc7f81c72f 100644
--- a/kubernetes/helm_charts/sunbird-RC/registry/values.j2
+++ b/kubernetes/helm_charts/sunbird-RC/registry/values.j2
@@ -80,4 +80,4 @@ serviceMonitor:
   enabled: true
   labels: # labels with which the prometheus choose the serviceMonitor
     app: prometheus-operator
-    release: prometheus-operator
\ No newline at end of file
+    release: prometheus-operator
diff --git a/private_repo/ansible/inventory/dev/Core/secrets.yml b/private_repo/ansible/inventory/dev/Core/secrets.yml
index 3e35beb55684e6c9dc3106e2bd28106402f30859..b004ab86d2639d650ef27b4f828e1686ee15bd05 100644
--- a/private_repo/ansible/inventory/dev/Core/secrets.yml
+++ b/private_repo/ansible/inventory/dev/Core/secrets.yml
@@ -65,7 +65,6 @@ adminutil_refresh_token_public_key_kid: ""   # get after keycloak deployment, go
 #SELECT value FROM component_config CC INNER JOIN component C ON(CC.component_id = C.id) WHERE C.realm_id = 'sunbird' and provider_id = 'hmac-generated' AND CC.name = 'secret';
 adminutil_refresh_token_secret_key: ""  # get after Keycloak deployment from postgres using the above query
 
-
 # mongodb keyfile content generated using
 # 'openssl rand -base64 741'
 # eg:
@@ -102,6 +101,7 @@ core_vault_sunbird_google_oauth_clientId_portal:         # Google oauth client i
 core_vault_sunbird_google_oauth_clientSecret_portal:     # Google oauth client secret
 core_vault_sunbird_google_captcha_site_key_portal:       # Google recaptch site key
 google_captcha_private_key:                              # Google recaptch private key
+learning_content_drive_apiKey:                           # Google drive api key
 
 # ------------------------------------------------------------------------------------------------------------ #
 # Optional variables - Can be left blank if you dont plan to use the intended features