Prerequisites to install coKreat
Sunbirded Setup
- Kubernetes Cluster
- Private GitHub repository to store ansible inventory
- Fully Qualified Domain Name (FQDN) with SSL
- Azure Storage account
- Docker hub account
- Public IP
- Vm's(1 KP vm, 1 DB vm)
Copy cokreat jenkins jobs coKreat-jobs to /varl/ib/jenkins/jobs folder in jenkins machine and restart jenkins service
update inventory
Use the following git commands sequentially to clone and update your private GitHub repository -
git clone https://github.com/project-sunbird/sunbird-devops
cd sunbird-devops
git checkout tags/release-6.0.0-vdn -b release-6.0.0-vdn
- Copy the directory
sunbird-devops/private_repo/ansible/inventory
to your private repo/ansible/inventory/env - Update the files common.yml, hosts, and secrets.yml under DockDev directories. After updating, push them to your private repo branch
JENKINS JOB TO RUN | GITHUB TAG | GITHUB REPO | COMMENTS |
---|---|---|---|
Build/job/DockCore/player | release-6.0.1 | https://github.com/Sunbird-coKreat/creation-portal | Creation-Portal |
Build/job/DockCore/Program | release-6.0.1 | https://github.com/Sunbird-coKreat/program-service | Program service |
Build/Core/APIManager | release-4.10.0_RC1 | https://github.com/project-sunbird/sunbird-devops.git | The API Gateway |
Build/Core/ApiManagerEcho | master-RC1 | https://github.com/project-sunbird/sunbird-echo-service.git | Simply echos the request |
Build/Core/Assessment | release-5.6.0_RC1 | https://github.com/project-sunbird/knowledge-platform.git | Handles course assessments |
Build/Core/Bot | release-3.9.0_RC1 | https://github.com/project-sunbird/sunbird-bot.git | Frontend for the chatbot |
Build/Core/Cassandra | release-4.10.0_RC1 | https://github.com/project-sunbird/sunbird-utils.git | Handles the Cassandra database schema |
Build/Core/CassandraTrigger | release-4.9.0_RC1 | https://github.com/project-sunbird/sunbird-utils.git | Creates few Cassandra Triggers |
Build/Core/Content | github_release_tag: release-5.5.0_RC1,,cloud_store_group_id:org.sunbird,cloud_store_artifact_id:cloud-store-sdk,cloud_store_version:1.4.6 | https://github.com/project-sunbird/knowledge-platform.git | Handles the Contents and Content Metadata |
Build/Core/KnowledgeMW | release-5.2.0 | https://github.com/project-sunbird/knowledge-mw-service.git | Middleware for Content service |
Build/Core/Player | release-6.0.1 | https://github.com/Sunbird-Ed/SunbirdEd-portal.git | Handles the UI elements |
Build/Core/DockOpensaber | vidyadaan, creation_portal_branch:6.0.1 | https://github.com/Sunbird-RC/open-saber.git | |
Build/Core/Proxy | release-3.8.0_RC14 | https://github.com/project-sunbird/sunbird-devops.git | Nginx web server / proxy |
Build/Core/Router | release-3.9.0_RC1 | https://github.com/project-sunbird/sunbird-bot.git | Backend for chatbot |
Build/Core/Search | release-5.1.0 | https://github.com/project-sunbird/knowledge-platform.git | Handles contents / course search |
Build/Core/Taxonomy | release-5.1.0 | https://github.com/project-sunbird/knowledge-platform.git | Handles the taxonomies |
Build/Core/Telemetry | release-3.3.0_RC1 | https://github.com/project-sunbird/sunbird-telemetry-service.git | Handles the telemetry generated |
Build/KnowledgePlatform/FlinkJobs | github_release_tag: release-5.5.0_RC2,cloud_store_group_id:org.sunbird,cloud_store_artifact_id:cloud-store-sdk_2.12,cloud_store_version:1.4.6 | https://github.com/project-sunbird/knowledge-platform-jobs.git | Multiple functions like search indexing, video streaming |
Build/KnowledgePlatform/InquiryFlinkJob | release-5.7.0_RC2 | https://github.com/Sunbird-inQuiry/data-pipeline.git | |
Build/KnowledgePlatform/Learning | github_release_tag: release-5.4.1_RC2, profile_id: platform-services | https://github.com/project-sunbird/sunbird-learning-platform.git | Handles frameworks |
Build/KnowledgePlatform/Neo4j | release-4.5.0_RC12 | https://github.com/project-sunbird/sunbird-learning-platform.git | Generates neo4j plugins |
Build/KnowledgePlatform/SyncTool | release-4.5.0_RC12 | https://github.com/project-sunbird/sunbird-learning-platform.git | Generates a jar to manually sync contents |
Build/Plugins/ContentEditor | release-5.2.1_RC3 | https://github.com/project-sunbird/sunbird-content-editor.git | A bunch of plugins to edit certain types of content |
Build/Plugins/ContentPlayer | release-5.1.0_RC2 | https://github.com/project-sunbird/sunbird-content-player.git | A bunch of plugins to handle content playback |
Build/Plugins/ContentPlugins | release-5.2.1_RC4 | https://github.com/project-sunbird/sunbird-content-plugins.git | A bunch of base plugins to support the content editors and content player |
Build/Plugins/GenericEditor | release-5.2.1_RC2 | https://github.com/project-sunbird/sunbird-generic-editor.git | A bunch of plugins to edit certain types of content |
ed dataproducts in dockdev | Build/Lern/LernDataProducts | release-5.3.1_RC11 |
Note:
- Jobs can be run in parallel to speed up execution. The only exception is you should NOT run multiple jobs which will provision packages on the same server in parallel
JENKINS JOB TO RUN | GITHUB TAG | GITHUB REPO | COMMENTS |
---|---|---|---|
Provision/Core/ApplicationElasticSearch | release-6.0.0 | https://github.com/project-sunbird/sunbird-devops.git | Installs Elasticsearch used by the applications |
Provision/Core/Cassandra | release-5.1.0 | https://github.com/project-sunbird/sunbird-devops.git | Installs Cassandra database |
Provision/Core/ESMapping | indices_name: all, branch_or_tag: release-5.0.0_RC2 | https://github.com/project-sunbird/sunbird-devops.git | Creates Elasticsearch indices and mappings |
Provision/Core/Postgres | release-5.0.0_RC2 | https://github.com/project-sunbird/sunbird-devops.git | Installs Postgres database |
Provision/Core/PostgresDbUpdate | release-5.0.0_RC2 | https://github.com/project-sunbird/sunbird-devops.git | Creates Postgres tables, schema and users |
Provision/KnowledgePlatform/Learning | release-5.0.0_RC2 | https://github.com/project-sunbird/sunbird-learning-platform.git | Install tomcat and other pre-requisites for Learning service |
Provision/KnowledgePlatform/Neo4j | release-5.1.0 | https://github.com/project-sunbird/sunbird-learning-platform.git | Installs Neo4j database |
- Every job in the Build directory has a corresponding job in ArtifactUpload directory with the same name
- These jobs are auto triggered and usually run without issues after the corresponding job in the build directory succeeds
- The job will fail if your ansible inventory setup is incorrect or incomplete
- If the job has failed, fix the ansible variables issue and rerun the job to upload the artifact / docker image
- Ensure the artifact upload jobs are successful before proceeding
Note:
- We will run the jobs which are a pre-requisite for other jobs first
- The pre-requisite jobs reside in different folders so we will be jumping across folders
- Jobs in the Deploy directory can be run in parallel and don’t have any restrictions if the code is from same repo unlike the Build directory
- Ensure you don’t run those jobs in parallel which modify the databases (such as cassandra, neo4j etc)
JENKINS JOB TO RUN | GITHUB TAG | GITHUB REPO | COMMENTS |
---|---|---|---|
Deploy/Kubernetes/CassandraDBUpdate | release-5.1.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Creates / Updates Cassandra DB schema |
Deploy/KnowledgePlatform/CassandraDbUpdate | release-5.1.0 | https://github.com/project-sunbird/sunbird-learning-platform.git | Creates / Updates Cassandra DB schema |
Deploy/Kubernetes/Cassandra | release-5.1.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Creates / Updates Cassandra DB schema |
Deploy/Kubernetes/KafkaSetup | release-5.1.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Creates / Updates Kafka Topics |
Deploy/KnowledgePlatform/KafkaSetup | release-5.0.0_RC2 | https://github.com/project-sunbird/sunbird-learning-platform.git | Creates / Updates Kafka Topics |
Deploy/KnowledgePlatform/Learning | release-5.2.0-vdn | https://github.com/project-sunbird/sunbird-learning-platform.git | Deploys the Learning service on tomcat |
Deploy/KnowledgePlatform/Neo4j | release-5.1.0 | https://github.com/project-sunbird/sunbird-learning-platform.git | Deploys the Neo4j plugins |
Deploy/KnowledgePlatform/Neo4jDefinitionUpdate | release-5.2.0 | https://github.com/project-sunbird/sunbird-learning-platform.git | Creates / Updates the Neo4j database |
Deploy/KnowledgePlatform/FlinkJobs | branch_or_tag: release-6.0.0-vdn, job_names_to_deploy: Select All | https://github.com/project-sunbird/sunbird-learning-platform.git | Deploys the Flink jobs in Kubernetes cluster |
Deploy/KnowledgePlatform/InquiryFlinkJob | inquiry_release_tag: release-5.7.0_RC1, branch_or_tag: release-6.0.0-vdn, job_names_to_deploy: Select All | https://github.com/Sunbird-inQuiry/data-pipeline.git | Deploys the InquiryFlink jobs in Kubernetes cluster |
Deploy/Kubernetes/nginx-private-ingress | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys nginx with a private load balancer |
Deploy/Kubernetes/APIManager | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys Kong, the API gateway |
Deploy/Kubernetes/OnboardAPIs | release-5.1.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Creates the APIs in Kong |
Deploy/Kubernetes/OnboardConsumers | release-5.1.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Creates the consumers in Kong. Now read the comment mentioned in Core/Secrets.yml against the variable core_vault_sunbird_api_auth_token |
Deploy/Kubernetes/UploadSchema | branch_or_tag: release-6.0.0-vdn, kp_branch_or_tag: release-4.9.0_RC8 | https://github.com/project-sunbird/sunbird-devops.git | Uploads the Content schemas to Azure blob |
Deploy/Kubernetes/APIManagerEcho | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys Echo service |
Deploy/Kubernetes/Opensaber | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys OpenSaber |
Deploy/Kubernetes/Assessment | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys Assessment service |
Deploy/Kubernetes/Bot | release-3.9.0_RC1 | https://github.com/project-sunbird/sunbird-devops.git | Deploys Bot service |
Deploy/Kubernetes/Content | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys Content service |
Deploy/Kubernetes/KnowledgeMW | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys KnowledgeMW service |
Deploy/Kubernetes/Player | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys Player service |
Deploy/Kubernetes/Program | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys Program service |
Deploy/Kubernetes/Router | release-5.1.0 | https://github.com/project-sunbird/sunbird-devops.git | Deploys Router service |
Deploy/Kubernetes/Search | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys Search service |
Deploy/Kubernetes/Taxonomy | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys Taxonomy service |
Deploy/Kubernetes/Telemetry | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys Telemetry service |
Deploy/Kubernetes/nginx-public-ingress | release-5.1.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys the nginx web server. Now you can open visit your domain |
Deploy/Plugins/ContentEditor | release-6.0.0 | https://github.com/project-sunbird/sunbird-devops.git | Deploys ContentEditor files to Azure blob |
Deploy/Plugins/ContentPlayer | release-6.0.0 | https://github.com/project-sunbird/sunbird-devops.git | Deploys ContentPlayer files to Azure blob |
Deploy/Plugins/ContentPlugins | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys ContentPlugins files to Azure blob |
Deploy/Plugins/GenericEditor | release-6.0.0-vdn | https://github.com/project-sunbird/sunbird-devops.git | Deploys GenericEditor files to Azure blob |
Deploy/Dock/DataPipeline/EdDataProducts | release-5.3.1_RC11 | https://github.com/Sunbird-Lern/data-products.git | CSP related changes. cloud_store_group_id: org.sunbird cloud_store_artifact_id: cloud-store-sdk_2.12 cloud_store_version: 1.4.6 Note: While deploy select set the module value as dock-dataproducts |