...
This document mainly focuses on the hardware requirements/ AWS network architecture for installing cQube and the deployment process step-by-step.
Hardware Requirements
Create Create an AWS EC2 or AZURE VM or in LOCAL SDC or Oracle VM instance with below configurations to install all the cQube micro services.
Ubuntu 22.04 (supported)
16 GB of System RAM (minimum requirement)
4 core CPU for AWZ, AZURE, LOCAL / 2 OCPU for ORACLE (minimum requirement)
250GB HDD
...
Port 80 inbound from 0.0.0.0/0
Port 443 inbound from 0.0.0.0/0Port 8000 inbound from nginx private ip ( to communicate with kong )
5432 inbound to the particular ip which needs access
...
Create a domain name
Configure cname of AWS ec2 or AZURE VM or LOCAL sdc or ORACLE VM instance to the domain name
Create a SSL certificate for the domain name.
...
If a user opting for local installation, Enter storage_type as local. Then automatically install.sh will install and configure the minio application in localhost and it will configure set default username and password and it will create a minio bucket as well.
...
cQube Deployment Process FOR AWS
...
Step - 3: Navigate to the directory where cqube is cloned or downloaded and checkout to the desired release branch
cd cqube-devops/ && git checkout dev<branch_name>
...
Step - 4: Give the following permissions to the install.sh file
...
state_name ( Enter the required state code by referring to the state list provided )
api_end_point ( Enter the url in which cqube to be configured )
Storage_type (Enter the storage_type as aws or local or azure. If User opting for aws You will be prompted with the following AWS s3 credentials to enter and it will create the s3 bucket. If s3_bucket already exists it will prompt you to enter a unique s3 bucket name. And it will be generated in the config.yml.)
s3_access_key
s3_secret_key
s3 bucket name
...
Storage_type (Enter the storage_type as local, minio will install and configure the minio username and minio password and create the minio bucket And it will be generated in the config.yml.)
...
read_only_db_user ( Enter the read only postgres database username )
read_only_db_password ( Enter the read onlypostgres password )
Step - 9: Keycloak_variables- Keycloak credentials with Keycloak admin user name and keycloak admin password.
Keyclaok_adm_name (Enter the keycloak admin name eg: admin)
Keyclaok_adm_password (enter the keycloak admin password eg: Admin@123)
...
Step - 10: Once the config file is generated, A preview of the config file is displayed followed by a question where the user gets an option to re enter the configuration values on choosing yes. If option no is selected then the install.sh moves to the next section.
...
Step - 1011: A preview of the program_selector.yml file is displayed followed by a question where the user gets an option to enable or disable the programs on choosing yes. If option no is selected then the upgradeinstall.sh moves to the next section.
...
Step - 1112: Once the installation is completed, You will be prompted with the following messages and required reference urls.
cQube Installed Successfully!!
...
cQube ingestion api can be accessible using <domain_name>
...
Ingestion Usage Documentation :https://project-sunbird.atlassian.net/l/cp/PPn7AfAW
Schema Documentation :https://project-sunbird.atlassian.net/l/cp/xpVi7HbS
UI Usage Documentation :https://project-sunbird.atlassian.net/l/cp/mv7JvLXd
Appendix
AWS - Network Architecture
...
The cQube network setup process is described in the block diagram below:
...
Microservices Details
Following are the details of the microservices which get installed in the cqube server.
...
cQube Installed Successfully!!
...
We can check the containers running status by using following command
...