Arquitetura¶
Quatro contêineres Docker compartilham um único arquivo DuckDB por meio de um 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 Sequência Ponta a Ponta¶
Consulte doc/ARCHITECTURE.md para o diagrama de sequência completo do ciclo de vida.