# Architectuur — ATC Lakehouse ## Dataflow (conceptueel) ```mermaid flowchart LR subgraph sources [Bronnen] DB1[(atc-db01)] DB2[(atc-db02)] end subgraph ingest [Ingest] DEB[Debezium] KAFKA[Kafka] end subgraph lake [Lake] SPARK[Spark] TRINO[Trino] ICE[Iceberg tables] end subgraph consume [Consumptie] SS[Superset] KB[Kibana] GF[Grafana] end DB1 --> DEB DB2 --> DEB DEB --> KAFKA KAFKA --> SPARK SPARK --> ICE TRINO --> ICE TRINO --> SS KAFKA --> SS ``` ## Lagen | Laag | Componenten | Doel | |------|-------------|------| | **Bron** | PostgreSQL, MySQL, MongoDB, Cassandra, Neo4j | OLTP / events / graph demo data | | **Ingest** | Debezium, Kafka Connect | CDC naar Kafka topics | | **Processing** | Spark, Airflow | ETL, batch, orchestratie | | **Query** | Trino | Federated SQL over lake + bronnen | | **Storage** | ObjectScale / MinIO (indien actief) | Object storage | | **Analytics** | Superset, Kibana | BI en search UI | | **Platform** | Proxmox, Docker hosts | VMs en containers | | **Ops** | Homepage dashboard, Grafana | Zichtbaarheid en links | ## atc-docker01 — centrale dashboard-host Draait de **gethomepage**-dashboard (poort 80), **RSS-proxy** (8090), **icon server** (8080), **Apache Superset** (8088), en optioneel lokale **Forgejo** (4002) / **LAM** (4001). Configuratiepad op de host: `/root/lakehouse/config/homepage` → gemount in container `/app/config`. ## Configuratie in git | Pad | Beschrijving | |-----|--------------| | `config/kafka/*.json` | Debezium/Kafka Connect connector definities | | `config/trino/config.properties` | Trino coordinator (single-node) | | `config/spark/spark-defaults.conf` | Spark defaults | | `config/airflow/` | Airflow DAG + `airflow.cfg` | | `config/superset/` | Superset Python config + compose | | `config/homepage/` | Volledige dashboardconfiguratie |