Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Context

This document details on how to enable any new CSP provider for Manage Learn capabilities which is part of Sunbird Ed

  • Manage Learn capabilities currently support Azure, AWS, OCI and GCP

  • ML Core Service interacts with cloud storage for upload/download operation, and all other services(Survey, Projects and Reports) as well as mobile app and portal use these APIs for their needs:

    • Get Signed URL (To upload assets to cloud)

    • Get Downloadable URL

  • In Mongo DB where all the transactions of projects, and observations are stored, only the relative path of the evidences of assets uploaded by users are captured. Bucket and CSP details are provided via config to the ML Core service.

  • In order to add support for any other cloud storage (e.g: Digital Ocean), below steps need to be followed:

ml-core-service:

Git Repos:

https://github.com/project-sunbird/knowledge-platform

https://github.com/project-sunbird/sunbird-learning-platform

Latest branch: release-5.2.0

  • The Service need only configuration change to maintain relative path in database while write operation and return the absolute path for cloud related metadata while read operation.

  • e.g:

  • Override value for below variables under private devops repo (file path: ansible/inventory/<env_name>/Core/common.yml) for new storage account:

cloud_storage_content_bucketname
cloudstorage_replace_absolute_path
cloudstorage_relative_path_prefix
cloudstorage_base_path
valid_cloudstorage_base_urls

Configuration File Reference:
https://github.com/project-sunbird/sunbird-devops/blob/b61a35fad0362ea7eb0bb688ff0bc12ffc811571/ansible/roles/stack-sunbird/templates/content-service_application.conf#L484

  • After Configuration Change, Deploy the service.

  • Test Content Create & Read API with some metadata having cloud path (e.g: appIcon)


The key integration points present at the below files

Knowledge-Platform repo:

StorageService.scala → Integration points of collecting to org.sunbird.cloud.storage library. This SunbirdCloudStage SDK has to support for new CSP providers.

Sunbird cloud-stage-sdk version upgrade location
https://github.com/project-sunbird/knowledge-platform/blob/release-5.2.0/platform-modules/mimetype-manager/pom.xml

 <dependency>
      <groupId>org.sunbird</groupId>
      <artifactId>cloud-store-sdk</artifactId>
      <version>1.4.3</version>
  </dependency>

flink jobs:

Git Repo:

https://github.com/project-sunbird/knowledge-platform-jobs

cloudstorage_replace_absolute_path
cloudstorage_relative_path_prefix
cloudstorage_base_path
valid_cloudstorage_base_urls

 

Media service integration (video-streaming)

 

  • No labels