diff --git a/docs/architecture/01-system-overview.dot b/docs/architecture/01-system-overview.dot deleted file mode 100644 index 16b4bec..0000000 --- a/docs/architecture/01-system-overview.dot +++ /dev/null @@ -1,114 +0,0 @@ -digraph system_overview { - rankdir=TB - node [shape=box, style=rounded, fontname="Helvetica"] - edge [fontname="Helvetica", fontsize=10] - - labelloc="t" - label="MPR - System Overview" - fontsize=16 - fontname="Helvetica-Bold" - - graph [splines=ortho, nodesep=0.8, ranksep=0.8] - - // External - subgraph cluster_external { - label="External" - style=dashed - color=gray - - browser [label="Browser\nmpr.local.ar / mpr.mcrn.ar", shape=ellipse] - } - - // Nginx reverse proxy - subgraph cluster_proxy { - label="Reverse Proxy" - style=filled - fillcolor="#e8f4f8" - - nginx [label="nginx\nport 80"] - } - - // Application layer - subgraph cluster_apps { - label="Application Layer" - style=filled - fillcolor="#f0f8e8" - - django [label="Django\n/admin\nport 8701"] - fastapi [label="FastAPI\n/api + /graphql\nport 8702"] - timeline [label="Timeline UI\n/ui\nport 5173"] - } - - // Worker layer - subgraph cluster_workers { - label="Worker Layer" - style=filled - fillcolor="#fff8e8" - - grpc_server [label="gRPC Server\nport 50051"] - celery [label="Celery Worker\n(local mode)"] - } - - // AWS layer - subgraph cluster_aws { - label="AWS (lambda mode)" - style=filled - fillcolor="#fde8d0" - - step_functions [label="Step Functions\nstate machine"] - lambda [label="Lambda\nFFmpeg container"] - } - - // Data layer - subgraph cluster_data { - label="Data Layer" - style=filled - fillcolor="#f8e8f0" - - postgres [label="PostgreSQL\nport 5436", shape=cylinder] - redis [label="Redis\nport 6381", shape=cylinder] - } - - // Storage - subgraph cluster_storage { - label="S3 Storage" - style=filled - fillcolor="#f0f0f0" - - minio [label="MinIO (local)\nport 9000", shape=folder] - s3 [label="AWS S3 (cloud)", shape=folder, style="dashed,rounded"] - bucket_in [label="mpr-media-in", shape=note] - bucket_out [label="mpr-media-out", shape=note] - } - - // Connections - browser -> nginx - - nginx -> django [xlabel="/admin"] - nginx -> fastapi [xlabel="/api, /graphql"] - nginx -> timeline [xlabel="/ui"] - nginx -> minio [xlabel="/media/*"] - - timeline -> fastapi [xlabel="REST API"] - - fastapi -> postgres - fastapi -> grpc_server [xlabel="gRPC\nprogress"] - - // Local mode - grpc_server -> celery [xlabel="task dispatch"] - celery -> redis [xlabel="queue"] - celery -> postgres [xlabel="job updates"] - celery -> minio [xlabel="S3 API\ndownload/upload"] - - // Lambda mode - fastapi -> step_functions [xlabel="boto3\nstart_execution", style=dashed] - step_functions -> lambda [style=dashed] - lambda -> s3 [xlabel="download/upload", style=dashed] - lambda -> fastapi [xlabel="callback\nPOST /jobs/{id}/callback", style=dashed] - - // Storage details - minio -> bucket_in [style=dotted, arrowhead=none] - minio -> bucket_out [style=dotted, arrowhead=none] - s3 -> bucket_in [style=dotted, arrowhead=none] - s3 -> bucket_out [style=dotted, arrowhead=none] -} diff --git a/docs/architecture/01-system-overview.svg b/docs/architecture/01-system-overview.svg deleted file mode 100644 index 6742f6e..0000000 --- a/docs/architecture/01-system-overview.svg +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - -system_overview - -MPR - System Overview - -cluster_external - -External - - -cluster_proxy - -Reverse Proxy - - -cluster_apps - -Application Layer - - -cluster_workers - -Worker Layer - - -cluster_aws - -AWS (lambda mode) - - -cluster_data - -Data Layer - - -cluster_storage - -S3 Storage - - - -browser - -Browser -mpr.local.ar / mpr.mcrn.ar - - - -nginx - -nginx -port 80 - - - -browser->nginx - - - - - -django - -Django -/admin -port 8701 - - - -nginx->django - - -/admin - - - -fastapi - -FastAPI -/api + /graphql -port 8702 - - - -nginx->fastapi - - -/api, /graphql - - - -timeline - -Timeline UI -/ui -port 5173 - - - -nginx->timeline - - -/ui - - - -minio - -MinIO (local) -port 9000 - - - -nginx->minio - - -/media/* - - - -grpc_server - -gRPC Server -port 50051 - - - -fastapi->grpc_server - - -gRPC -progress - - - -step_functions - -Step Functions -state machine - - - -fastapi->step_functions - - -boto3 -start_execution - - - -postgres - - -PostgreSQL -port 5436 - - - -fastapi->postgres - - - - - -timeline->fastapi - - -REST API - - - -celery - -Celery Worker -(local mode) - - - -grpc_server->celery - - -task dispatch - - - -celery->postgres - - -job updates - - - -redis - - -Redis -port 6381 - - - -celery->redis - - -queue - - - -celery->minio - - -S3 API -download/upload - - - -lambda - -Lambda -FFmpeg container - - - -step_functions->lambda - - - - - -lambda->fastapi - - -callback -POST /jobs/{id}/callback - - - -s3 - -AWS S3 (cloud) - - - -lambda->s3 - - -download/upload - - - -bucket_in - - - -mpr-media-in - - - -minio->bucket_in - - - - -bucket_out - - - -mpr-media-out - - - -minio->bucket_out - - - - -s3->bucket_in - - - - -s3->bucket_out - - - -