BrainGrid

Faraday Architecture

Open Source Vulnerability Management Platform

Used in: 1 reposUpdated: recently

Faraday Architecture

Faraday is a comprehensive security platform that combines a Flask-based API with background task processing capabilities. The system is designed to handle both synchronous HTTP requests and real-time WebSocket communications, while efficiently processing long-running tasks through a distributed worker system.

#System Overview

1+------------------+
2|                  |
3|     Clients      |
4|  - API Clients   |
5|  - Cloud Agents  |
6|  - Faraday Agents|
7|  - Faraday-cli   |
8|  - Faraday's     |
9|    React UI      |
10|                  |
11+------------------+
12        |
13        v
14+------------------+     +------------------+     +------------------+
15|                  |     |                  |     |                  |
16|  Faraday Flask   |     |  Message Broker  |     |  Faraday Workers |
17|       API        |<--->| (Redis/RabbitMQ) |<--->|     (Celery)     |
18|    (HTTP/WS)     |     |                  |     |                  |
19+------------------+     +------------------+     +------------------+
20        |                                                |
21        |                                                |
22        v                                                v
23+------------------+                               +------------------+
24|                  |                               |                  |
25|    PostgreSQL    |                               |  Long Tasks:     |
26|    Database      |                               |  - Exec Reports  |
27|                  |                               |  - Scan Imports  |
28|                  |                               |  - Stats Gen     |
29+------------------+                               +------------------+

#Components

  • Faraday Flask API: Main application server handling HTTP and WebSocket requests
  • Message Broker: Queue system (Redis/RabbitMQ) for task distribution
  • Faraday Workers: Celery workers processing background tasks
  • PostgreSQL: Primary database for data storage
  • Long Tasks: Background jobs processed by workers
  • Clients: Various client interfaces including:
    • API Clients: External applications using Faraday's API
    • Cloud Agents: Cloud-based agents for distributed task execution
    • Faraday Agents: Local agents for task execution
    • Faraday-cli: Command-line interface
    • Faraday's React UI: Web-based user interface

Quick Actions

Details

Author
infobyte
Slug
infobyte/faraday-architecture