7de4f5d73a
- config/airflow/airflow.cfg (fernet/API keys redacted) + live DAG sync - config/kafka/kraft-server.properties (live KRaft broker on kafka01) - Extend collect-fleet-config.sh for airflow/kafka collection - Add docs/recommendations.md with prioritized next steps
4.2 KiB
4.2 KiB
ATC Lakehouse — Application Landscape
High-level view of the Dell ATC Forward Deployed Engineering lab.
Live diagram: http://atc-docker01.dell-atc.lan:8080/docs/architecture.html
Architecture diagram
flowchart TB
subgraph users [Users]
FDE[FDE Engineers]
end
subgraph ops [Operations Layer]
HP[Homepage Dashboard<br/>atc-docker01:80]
GF[Grafana<br/>atc-grafana:3000]
PVE[Proxmox pve01<br/>10.0.10.65:8006]
IDRAC[iDRAC<br/>10.0.41.102]
end
subgraph git [Source Control]
FG[Forgejo Git<br/>atc-mgt01:3001]
end
subgraph ingest [Ingest & Streaming]
KF[Kafka<br/>atc-kafka01:9092]
KUI[Kafka UI<br/>:9000]
DEB[Debezium Connect<br/>atc-lake01:8083]
end
subgraph process [Processing]
SP[Spark Master/Worker<br/>atc-lake01:8080]
AF[Airflow<br/>atc-airflow01:8080]
TR[Trino<br/>atc-lake01:8089]
end
subgraph storage [Storage]
OS[ObjectScale ECS<br/>atc-objectscale 10.0.20.111]
end
subgraph sources [Source Databases — atc-db02]
PG[(PostgreSQL)]
MY[(MySQL)]
MG[(MongoDB)]
CA[(Cassandra)]
N4[(Neo4j)]
end
subgraph analytics [Analytics & Search]
SS[Superset<br/>atc-docker01:8088]
ES[Elasticsearch<br/>atc-elastic01:9200]
KB[Kibana<br/>:5601]
end
FDE --> HP
FDE --> SS
FDE --> KB
HP --> KUI
HP --> DEB
HP --> SP
HP --> TR
HP --> OS
HP --> FG
PG & MY & MG & CA --> DEB
DEB --> KF
KF --> SP
SP --> OS
TR --> PG
TR --> KF
KF --> SS
ES --> KB
AF --> SP
Host roles
| Host | IP | Role | Key services |
|---|---|---|---|
| atc-docker01 | 10.0.21.45 | Ops & BI hub | Homepage, Superset, RSS-proxy, icons, Forgejo (local), LAM |
| atc-docker02 | 10.0.21.47 | Secondary Docker | Standby / experiments |
| atc-mgt01 | 10.0.20.104 | Management | Forgejo (:3001), Nginx Proxy Manager, LDAP |
| atc-kafka01 | 10.0.21.36 | Streaming | Kafka broker (:9092), Kafka UI (:9000) |
| atc-lake01 | 10.0.21.50 | Lakehouse compute | Spark, Trino, Debezium Connect |
| atc-airflow01 | 10.0.21.55 | Orchestration | Apache Airflow (systemd) |
| atc-elastic01 | 10.0.21.46 | Search & observability | Elasticsearch, Kibana |
| atc-db01 | 10.0.20.112 | Source DBs | PostgreSQL, MySQL (native or container) |
| atc-db02 | 10.0.21.51 | Polyglot sources | PG, MySQL, Mongo, Cassandra, Neo4j (Docker) |
| atc-grafana | 10.0.20.103 | Monitoring | Grafana |
| atc-objectscale | 10.0.20.111 | Object storage | Dell ECS / S3 API (Luna OS) |
| pve01 | 10.0.10.65 | Hypervisor | Proxmox VE |
Data flow
- Operational data lives on atc-db02 (and db01) — sales, HR, supply chain, telemetry, graph.
- Debezium on lake01 reads CDC from PostgreSQL → Kafka on kafka01.
- Spark processes streams/batch; results can land in ObjectScale (S3-compatible).
- Trino federates queries across catalogs (Postgres, Kafka, Hive, etc.).
- Superset on docker01 is the primary BI UI; Kibana for search/logs.
- Airflow orchestrates pipelines on airflow01.
- Homepage aggregates links, health, RSS intel, and Proxmox status.
Docker vs native
| Component | Deployment | Config in git |
|---|---|---|
| Homepage, Superset, RSS | Docker (docker01) | compose/, deploy/ |
| Spark, Trino, Debezium | Docker (lake01) | config/docker/atc-lake01/ |
| Source DBs | Docker (db02) | config/docker/atc-db02/ |
| Kafka UI | Docker (kafka01) | config/docker/atc-kafka01/ |
| Kafka broker | Native KRaft (kafka01) | config/kafka/kraft-server.properties |
| Elasticsearch | Native (elastic01) | config/elastic/ |
| Airflow | Native (airflow01) | config/airflow/airflow.cfg, DAGs |
| ObjectScale | ECS appliance | config/objectscale/ |
| Forgejo | Docker (mgt01) | compose/forgejo/ |
Network zones
- Management: 10.0.10.x — Proxmox, iDRAC
- Storage / legacy: 10.0.20.x — ObjectScale, db01, mgt01, grafana, elastic
- Lakehouse compute: 10.0.21.x — docker, kafka, lake, db02, airflow