Asset Ownership Transfer
Overview
The user deletion requirement in Lern has originated from the below requirement.
PRD: [PRD] Asset Ownership Transfer
What is changing?
The user can request for deletion of their account in Sunbird, this means two primary actions to happen.
The user's Personal Identifiable Information (PII) needs to be removed
The assets created by this user (such as questions, question sets, content, etc.) need to be transferred to an identified user.
Release Tags:
Components | Build Jenkins Job | Build Tag | Deploy Jenkins Job | Deploy Tag | Comment |
---|---|---|---|---|---|
OnboardAPIs | NA | NA | Deploy/Kubernetes/OnboardAPIs | To onboard the delete user API | |
Cassandra Migration | Build/Core/Cassandra | Deploy/Kubernetes/Cassandra | Select the sunbird in cassandra_keyspace_to_migrate while deploying script_repo_branch_or_tag: release-7.0.0_RC3 | ||
UserOrg Service | Build/Core/UserOrg | Deploy/Kubernetes/UserOrg | |||
Kafka Setup | NA | NA | Deploy/Lern/KafkaSetup | ||
DataPipeline | Build/Lern/LernFlinkJobs | Deploy/Lern/LernFlinkJobs | Define the core_vault_sunbird_keycloak_user_federation_provider_id in Lern inventory secret. Add user-deletion-cleanup and ml-user-delete into job list and deploy it. | ||
Data Product | Build/Lern/LernDataProducts | Deploy/Lern/LernDataProducts |
Configurations
Adoption of the feature Through Flink Job
Code changes
For making the ownership transfer functionality work through the flink job, the adapter needs to trigger the Kafka event, For more details about that refer to the below link,
For more details on the user deletion cleanup flink job, please visit
Ownership transfer Flink job
This flink job was introduced as part of the 7.0.0 release, if any adopter wants to use this feature before the release have to configure and use this flink job.
Added below partition related settings and replication_factor related settings in ansible/roles/setup-lern-kafka/defaults/main.yml file of data pipeline repository.
Added below ownership transfer flinkjob related configuration in kubernetes/helm_charts/datapipeline_jobs/values.j2 file of data pipeline repository.
Added below ownership transfer flinkjob related configuration in kubernetes/ansible/roles/flink-jobs-deploy/defaults/main.yml of data pipeline repository
Jenkins Job Details For the deployment of the above flink job:
Adoption of the feature Through API
This API was introduced as part of the 8.0.0 release and can be used directly from this release. Before this release adopters have to use either the flink job or extend this logic
Ownership Transfer API
Added the below configuration in the user org service application.conf file of user org service
Added the below property in external resource.properties related to ownership transfer kafka topic in user org service
Added the below configuration in ansible/roles/kong-api/defaults/main.yml for ownership transfer API in sunbird devops repository.
Added the user ownership transfer topic to the userorgservice.env file in Sunbird DevOps repository.
Last updated