The system will setup a custer of docker containers as per the start script.
It has mainly 3 systems:
-
1. It comprises of sentinel, slave and master nodes of redis. 2. It stores the malware url related data to query by users.
-
This is actually python api service to handle:
1. Incoming call to check about the url status (blacklisted/whitelisted) API signature: - /urlinfo/<version>/url - Response: { "host": "target url to check", "path": "any path attached with the url", "query": "any query associated with the url", "status": "blacklisted/whitelisted" } 2. Incoming call to update backend strore with new malware url API signature: - /urlinfo/update/<version>/url version=1 is supported for now
-
1. This service handles the load balancing of URL Service. 2. Traefik has been used for this service. 3. 'localhost' has been exposed to call the api services for this system. 4. http://localhost:8080/dashboard/ is the dashboard to get the status of the load balancing and url callings.
Docker compose has been used to setup all the containers and dependibility between the services.
docker-compose.yml
start.sh
Start the system in background with following numbers of nodes:
- Redis master: 1
- Redis slave: 2
- Redis sentinel: 3
- URL service: 2
Before this it will create redis_data in the home directory.
To run it at foreground just remove -d flag.
stop.sh
Stop the containers and clean the service