...
Ingestion-ms: The ingestion-ms is used to upload the data of the events, datasets, dimensions, transformers and pipeline. All these apis will be to ingesting the data into the cQube.
Spec-ms: The spec-ms is used to import schema of the events, datasets, dimensions, transformers and pipeline. All these specs will be defined by the cQube platform prior to ingesting the data into the cQube. These specifications are derived by considering the KPIs as the Indicator.
Generator-ms: The generator-ms is used to create the specs & transformers for the derived datasets. Performed aggregation logics, updating data to datasets based on transformation. Status update of file processing
Nifi-ms: Apache NiFi is used as a real-time integrated data logistics and simple event processing platform
Postgres-ms: Postgres microservice contains the schema and tables
Nginx-ms: It is commonly used as a reverse proxy and load balancer to manage incoming traffic and distribute it to slower upstream servers
Kong-ms: It is a lightweight API Gateway that secures, manages, and extends APIs and microservices.
cQube Deployment Procedure
Install.sh sh file contains a shell script where it will run following shell scripts and ansible-playbook to setup the cqube
Basic_requirements.sh:
This script basically updates and upgrades the software packages in the server and installs the basic softwares such as
Python3
Pip3
Ansible
Docker
Docker compose
Config_file_generator.sh:
This script is used to generate a configuration file which contains some constant values and few required variables should be entered by the user. Following are the variables which get added in the config file.
Note: Users should follow the Hints provided in the description and should enter the variables accordingly. If the entered value is wrong then an error message gets displayed and the user should modify the variable value accordingly.Constant Variables: These variables are auto generated
System_user_name
base_dir
Private_ip
aws_default_region
User Input Variables-These are variables which need to be entered by the user by following the Hint provided
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 )
s3_access_key
s3_secret_key
s3 archived bucket name
s3 error bucket name
Optional_variables - Database credentials contain default values. If the user wishes to enter their own credentials then the user should opt for yes to enter their credentials otherwise can opt for no when the question pops up
db_user_name ( Enter the postgres database username )
db_name ( Enter the postgres database name )
db_password ( Enter the postgres password )
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.
Repository_clone.sh:
This script clones the following repositories in the microservices directory and checkout to the required release branch
Note: If the repository is already cloned then the script will pull the updated code.
Ansible-playbook:
Install.yml
An install.yml ansible playbook gets triggered where it triggers the required roles to build the following microservices images.
Ingestion-ms
Spec-ms
Generator-ms
Postgres-ms
Nifi-ms
Kong-ms
Nginx-ms
compose.yml:
A docker compose ansible script gets triggered where it will up all the containers to running state.
Note: The following commands can be used from the Ansible directory to down the containers and to start the containers, respectively.
docker-compose -f docker-compose.yml down
docker-compose -f docker-compose.yml up -d
Once the installation is completed, You will be prompted with the following messages and required reference urls.
cQube Installed Successfully
We can check the containers running status by using following command
sudo docker ps
Spec pipeline
Defines how specs are processed into cQube.
...