🧒
Sunbird ED
new release -7.0.0 (Jun 2024)Askdot
Older versions
Older versions
  • Learn
    • Overview for Sunbird ED
    • Functional Capabilities
      • Learning Apps
      • Asset Sourcing
      • Organised Collections
      • Discover Content - Digital & Phygital
      • User Engagement
      • Rich and diverse content
      • Versatile Question Bank
      • Observability
      • Launch Course
      • Verifiable Credentials
      • Multi-Channel Chatbot
      • Targeted Programs
      • Manage Learn
        • Overview
        • What is an entity?
        • What is a Program?
        • What is a Project?
        • What is Observation?
        • What is a Survey?
        • What is Observation as a task inside a Project?
    • Product and Developer's Guide
      • Learning apps
        • Workflows
          • Onboarding of Users
          • Discovery of Content
          • Play content
          • Track progress and Earn credentials
          • Interacting / Collaborating
      • Asset Sourcing
      • Organised Collections
      • Discover Content - Digital & Phygital
      • User Engagement
      • Rich and Diverse Content
      • Versatile Question Bank
      • Observability
      • Launch Courses
      • Verifiable Credentials
      • Multi-Channel Chatbot
      • Targeted Programs
      • Manage Learn
        • Overview
        • Component Diagram
        • ML Core Service
        • ML Project Service
        • ML Survey Service
        • ML Report Service
        • ML Analytics Service
    • Adopters
      • DIKSHA
    • Technical Architecture
      • Design Principles
      • Technical Architecture Diagram
      • Tech Stack
    • Roadmap
  • USE
    • Deployment Diagram
    • Deployment Artifacts
      • 4.10
      • 4.10.1, 4.10.2, 4.10.3, & 5.0
    • Installing ED Platform
      • release-5.2.0
        • Prerequisites for your own Sunbird ED Instance
        • Infra Provisioning
        • Jenkins Setup
        • Ansible Variables
        • Build
        • Post Install Steps
      • release-5.1.0
        • Prerequisites for your own Sunbird ED Instance
        • Infra Provisioning
        • Jenkins Setup
        • Ansible Variables
        • Build
        • Post Install Steps
      • release-5.0.0
        • Prerequisites for your own Sunbird ED Instance
        • Infra Provisioning
        • Jenkins Setup
        • Ansible Variables
        • Build
        • Post Install Steps
      • release-4.10.0
        • Prerequisites for your own Sunbird ED Instance
        • Infra Provisioning
        • Jenkins Setup
        • Ansible Variables
        • Build
        • Post Install Steps
      • Sunbird ED Portal
      • Sunbird ED Mobile
      • Easy installer (Draft)
    • Updating Sunbird Releases
      • 5.1.0 to 5.2.0
      • 5.0.0 to 5.1.0
      • 4.10.1, 4.10.2, 4.10.3, & 5.0
    • Releases
      • Release calendars
        • Release Calendar 4.9, 4.10, 5.0
        • Release calendar 5.0.1, 5.0.2, 5.0.3, 5.1.0 (major), 5.1.1, 5.1.2, 5.1.3 &5.2.0 (major)
        • Release Calendar 6.0.0
        • Release Calendar 7.0.0
      • Planned items
        • 4.9, 4.9.1, & 4.10(major)
        • 4.10.1, 4.10.2, 4.10.3, & 5.0(major)
        • 5.0.1, 5.0.2, 5.0.3 & 5.1 (major)
      • Release notes
        • 5.2.0
          • Release-5.1.2
          • Release-5.1.1
        • 5.1.0
        • 5.0.0
        • 4.9.0, 4.9.1, 4.10.0
        • 4.7.0, 4.8.0
      • Release Artifacts
        • 5.0.1, 5.0.2, 5.0.3, & 5.1
        • 4.10.1, 4.10.2, 4.10.3, & 5.0
      • Demo of released items
    • Telemetry
      • Trackable Collection
    • Minimal forms
    • API's
    • Learn More
      • Dependencies
      • Specifications
        • SOFIE
        • SOFIE Implementation
  • Engage
    • Discuss
  • Contribute
    • Extend / Contribute to Sunbird
    • System Requirements
      • Learning Apps
    • Source Code
      • Architecture - Component Diagram
      • Developer Guide
        • Portal
          • Component Diagram
        • Desktop
          • Component Diagram
        • Mobile
          • Component Diagram
          • sunbird-mobile-sdk
          • Sunbird-mobile-app plugins
          • Configurations to setup mobile app
        • Form service
          • Component Diagram
          • Data model
          • API's
        • Manage Learn
          • ML Core Service
            • Overview
            • User Flow Diagram
            • Component Diagram
            • Data Model
            • Folder Structure
            • API's
            • Deployment Overview
            • Local Service Setup Guide
          • ML Project Service
            • Overview
            • User Flow Diagram
            • Component Diagram
            • Data Model
            • Folder Structure
            • API's
            • Deployment Overview
            • Local Service Setup Guide
          • ML Survey Service
            • Overview
            • User Flow Diagram
            • Component Diagram
            • Data Model
            • Folder Structure
            • API's
            • Deployment Overview
            • Local Service Setup Guide
          • ML Report Service
            • Overview
            • User Flow Diagram
            • Component Diagram
            • Data Model
            • Folder Structure
            • API's
            • Deployment Overview
            • Local Service Setup Guide
          • ML Analytics Service
            • Overview
            • Component Diagram
            • Data Model
            • Setup Guide
              • ENV Variables ( Config.ini)
            • Ingestions
            • Folder Structure
            • Report creation and Updation Scripts
            • Deployment Overview
        • UI (User interface) Sunbird-Ed portal
          • Angular Material
          • Component Style Guide Version 1
            • Accordion
            • Buttons
            • Cards
            • Forms
            • Grid & Layout
            • Labels
            • Modals
            • Pagination
            • Rating
            • Search Box
            • Select Box
            • Tables
            • Tabs
            • Toast messages
            • Tooltip
            • Typography
          • SB-Styles: A Comprehensive Design Resource
          • SB-Themes Repository: Unifying Design Across Platforms
            • Classical Theme in Sunbird-Ed portal
            • Joyful Theme in Sunbird-Ed portal:
      • Reference Apps
      • Platform
    • Install Locally
      • SunbirdED Mobile
      • SunbirdED Portal
    • Configuration
      • SunbirdEd Portal
      • Sunbird Mobile
    • Independent Libraries
      • Common Consumption Components
      • SunbirdEd Forms
      • Sunbird Client Services
      • Sunbird Styles
      • Sunbird Themes
      • Sunbird Tag Manager
    • Issue tracker/ Create Issue
    • Contribute to ED
  • Misc
    • Templates
      • Upgrade Sunbird release document
      • Release Notes
    • Archived
      • High Level Capabilities
      • Workflows
      • Where Sunbird ED helps you
      • ED - Mobile App (going to archive)
        • 4.10.3 to 5.0.0
        • 5.0.0 to 5.1.0
      • Setting up Sunbird ED
      • Developer Documentation
      • API Reference Documentation
      • Detailed Documentation
      • Source Code
      • Actors & Actions
      • Detailed Capabilities
      • Data
      • Terminology
      • 5.1.0-hotfix (OCI )
  • Development Resources
    • Misc Pages
      • Portal - Manage Learn - Reports
      • App - Manage Learn - component diagram
        • Projects
        • Observation & Survey
        • Program
      • Portal - Manage Learn - component diagram
      • Mobile form configurations
      • Content Indexing Flow
      • What are multiple databases used for
      • Course completion, reports and certificate issue
      • How to access Flink UI
      • What are all the flink jobs for
      • How does data flow into Druid
      • Minimal build properties
  • Page 1
Powered by GitBook
On this page
  • Overview:
  • Pre-requisites:
  • Steps:
  • Functional Configuration:
  1. USE
  2. Installing ED Platform

Easy installer (Draft)

Overview:

Easy installer is meant to install Sunbird Ed platform on Kubernetes cluster which helps the adopter to setup Sunbird Ed platform within in few hours.

Pre-requisites:

  • Server or Laptop with Ubuntu 20.04 LTS operating system

  • Azure Kubernets Cluster

  • Azure Storage Account

  • Domain name and SSL Certificates

  • Google re-captcha

  • Google OAuth Credentials

To successfully complete Sunbird installation, you need to have:

  • System administrator permissions to the cloud resources

  • Hands-on experience in administering and debugging Linux systems

  • Hands-on experience using Docker and Kubernetes to run containerized workloads

Steps:

  1. Provision Pre-requisites: Current easy installer supports azure cloud service provider. Please provision the following resources required

    • Azure Kubernetes Cluster: Please follow the steps mentioned in the below azure documentation link to provision AKS cluster using azure protal and generate the kubeconfig file for the same and save it in the server/local machine from where you will be running the installer script.

      • kubernetes version: 1.24.x

      • Node size: 4 Core, 16 GB RAM,

      • Node count range: 6 to 10

    • Azure Storage account with following containers

      • sunbird-contents-dev public container

      • flink-state-backend private container

  2. Update environment values

    • Clone the repository

      git clone https://github.com/project-sunbird/sunbird-devops -b oneclickinstaller
      cd sunbird-devops/oneclickinstaller
      chmod +x *sh
    • Use your favourite text editor and update variables mentioned in global-values.yaml. Follow the instructions mentioned in the global-values.yaml file under every variable

  3. Run the Ed easy installer bash script. While the installer is running, you can view the deployments to the kubernetes cluster using any kubernetes client like kubectl or k9s. This step take 45 min to 1 hour based on the internet speed on the machine where you are running the script. Take a break and check back !

bash ./install-ed.sh /path/to/kubeconfig.yaml -i ed-install  
  1. Manual keycloak configurations

NOTE: These manual configurations will be automated in the next consequent releases

  • Port forward to keycloak pod to access admin console through web browser. If you are running installer from server(not local machine).Make sure SSH tunnel is done b/w local machine to server.Make sure there is no process running on port 8080 on the system from where you are running the installer. Also, make sure context to kubectl is set to the right kubernetes cluster.

    POD_NAME=$(kubectl get pods -n dev | grep keycloak | awk '{print $1}')
    kubectl port-forward -n dev "$POD_NAME" 8080:8080 
  • Go to http://localhost:8080/auth/admin/master/console/#/realms/sunbird/clients

    username: admin password: admin

    • Click lms client -> Select service account roles -> Click on Client roles drop down -> Select realm management -> Select manage-users in Available Roles -> Click on Add Selected

    • Click on Credentials TAB-> Copy the secret value -> Update sunbird_sso_client_secret variable value in global-values.yaml with the copied secret value

    • Click on Realm Settings-> Keys -> Click on public key button-> Copy the key. Update the variables sunbird_sso_publickey and keycloak_sunbird_realm_public_key in global-values.yaml with the copied public key

    • Click on Realm Settings -> Click on Themes -> Select sunbird as a login theme -> click save

  • Goto http://localhost:8080/auth/admin/master/console/#/realms/sunbird/user-federation Click on cassandra-storage-provider -> Copy the Provider ID. Update the sunbird_keycloak_user_federation_provider_id variable in global-values.yaml with the copied Provider ID

  • Goto http://localhost:8080/auth/admin/master/console/#/realms/sunbird/keys -> copy KID of Type RSA . Update the variable keycloak_sunbird_realm_kid in global-values.yaml

  1. Run the Ed easy installer post install script

bash ./install-ed.sh /path/to/kubeconfig.yaml -i postscript  
  1. Update the DNS record: Get the public ip printed on the console and add DNS A record for the same domain you have added to global-values.yaml. Access the Ed instance using https://{domain-name}

Functional Configuration:

Once above steps are completed, functional configurations need to be setup. Following postman collection helps to setup minimal functional configuration.You can leverage same postman collection to setup functional configuration for your use case.

To configure these functionalities, you will need to use the Postman tool. You can download and install the Postman tool by visiting the following link: https://www.postman.com/downloads/.

Please refer the below mentioned postman collection to setup minimal functional configuration for content creation workflow.

Download the postman collection of Sunbird-Ed functional configuration

Download the postman environment variable file

Import postman collection and environment variables to postman tool

Update below mentioned environmental variables in postman tool. Please refer global_values.yaml file for varaible values.

Environment key name
global_values.yaml key name
Description

host

domain

http://example.co.in/

kong_api_key

Bearer {{core_vault_sunbird_api_auth_token}}

Bearer xxx.yyy.zzz

  • Import the Postman collection and environment files. Then, go to the "Environment" section and choose the "sunbird-easeinstall" environment. Update the values of the "host" and "kong_api_key" variables, and remember to save the changes.

  • Once you have updated the environment variables, click on the "Collections" tab located in the upper-left corner. From the dropdown menu in the upper-right corner, select the desired environment name.

  • Now, you can start triggering the APIs in the collection one by one, following the specified sequence. Proceed to the next API only when the response from the current API is a successful "200" status code.

Last updated 1 year ago

Install az cli

Google re-captcha : Follow the steps mentioned in the below link. Select Challenge(v2) -> Invisible reCAPTCHA badge.

Google OAuth Credentials: Follow the steps mentioned in the below link and set Authorised redirect URIs value to https://{domain-name}/oauth2/callback . Save Client id and Client secret values.

Domain name and SSL Certificates: You can create free Letsencrypt SSL certificates using for the domain which is valid for 90 days. Or purchase the SSL certs from Godaddy or Namecheap like vendors

K9s download link:

\

If you have any queries or facing issues please create a discussion thread at

https://learn.microsoft.com/en-us/azure/aks/learn/quick-kubernetes-deploy-portal?tabs=azure-cli
https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt
https://www.google.com/recaptcha/admin/create
https://developers.google.com/workspace/guides/create-credentials#oauth-client-id
https://punchsalad.com/ssl-certificate-generator/
https://k9scli.io/topics/install/
https://github.com/project-sunbird/sunbird-devops/blob/oneclickinstaller/oneclickinstaller/collection.json
https://github.com/project-sunbird/sunbird-devops/blob/oneclickinstaller/oneclickinstaller/environment.json
https://learning.postman.com/docs/getting-started/importing-and-exporting-data/#importing-postman-data
https://github.com/orgs/Sunbird-Ed/discussions/categories/installation