Arquitectura¶
Cuatro contenedores de Docker comparten un archivo DuckDB mediante un bind mount (docker/data/db/).
┌────────────────────────────────────────────────────────────────────────┐
│ Docker Compose │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ ingester │ │ agent │ │ config_viz │ │ dashboard │ │
│ │ (Rust) │ │ (Streamlit) │ │ (FastAPI+ │ │ (Superset) │ │
│ │ │ │ │ │ React) │ │ │ │
│ │ CloudTrail │ │ AI Chat │ │ Resource │ │ Visualiz │ │
│ │ AWS Config │ │ SQL gen/exec│ │ Graph │ │ │ │
│ │ ingest │ │ READ_ONLY │ │ READ_ONLY │ │ READ_ONLY │ │
│ │ READ_WRITE │ │ │ │ │ │ │ │
│ └──────┬───────┘ └──────┬───────┘ └────┬────────┘ └─────┬───────┘ │
│ └─────────────────┴───────────────┴─────────────────┘ │
│ │ │
│ ┌──────▼───────┐ │
│ │ DuckDB │ │
│ │ (Bind Mount) │ │
│ │ (SSD) │ │
│ └──────────────┘ │
└────────────────────────────────────────────────────────────────────────┘
Diagrama de secuencia de extremo a extremo¶
Consulte doc/ARCHITECTURE.md para ver el diagrama de secuencia del ciclo de vida completo.