Document full application landscape and collect Docker configs

- Add docs/landscape.md and docker-inventory.md with Mermaid architecture
- Add config/docker per host (db02, lake01, kafka01) and objectscale/elastic refs
- Add live architecture page at icons/docs/architecture.html
- Homepage OPS tab: Lakehouse Architecture group with diagram link
- Add scripts/collect/collect-fleet-config.sh to refresh configs from fleet
This commit is contained in:
Lakehouse Admin
2026-05-19 23:01:47 +02:00
parent e1180e14c9
commit 007f6cedc5
15 changed files with 881 additions and 42 deletions
@@ -0,0 +1,195 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>ATC Lakehouse — Architecture</title>
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
<style>
:root {
--bg: #0a0e17;
--panel: #111827;
--border: #1e3a5f;
--accent: #007db8;
--orange: #e8752a;
--text: #e2e8f0;
--muted: #94a3b8;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: "DM Sans", system-ui, sans-serif;
background: var(--bg);
color: var(--text);
min-height: 100vh;
background-image:
linear-gradient(rgba(0,125,184,0.04) 1px, transparent 1px),
linear-gradient(90deg, rgba(0,125,184,0.04) 1px, transparent 1px);
background-size: 48px 48px;
}
header {
border-bottom: 1px solid var(--border);
padding: 1.25rem 2rem;
display: flex;
align-items: center;
gap: 1rem;
background: rgba(10,14,23,0.95);
position: sticky;
top: 0;
z-index: 10;
}
header h1 {
margin: 0;
font-size: 1.35rem;
font-weight: 600;
letter-spacing: 0.02em;
}
header h1 span { color: var(--orange); }
header p { margin: 0.2rem 0 0; font-size: 0.85rem; color: var(--muted); }
.back {
margin-left: auto;
color: var(--accent);
text-decoration: none;
font-size: 0.9rem;
padding: 0.5rem 1rem;
border: 1px solid var(--border);
border-radius: 6px;
}
.back:hover { background: var(--panel); }
main { max-width: 1400px; margin: 0 auto; padding: 2rem; }
.diagram {
background: var(--panel);
border: 1px solid var(--border);
border-radius: 12px;
padding: 1.5rem;
margin-bottom: 2rem;
overflow-x: auto;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1rem;
}
.card {
background: var(--panel);
border: 1px solid var(--border);
border-left: 3px solid var(--accent);
border-radius: 8px;
padding: 1rem 1.25rem;
}
.card h3 { margin: 0 0 0.5rem; font-size: 1rem; color: var(--orange); }
.card ul { margin: 0; padding-left: 1.1rem; font-size: 0.85rem; color: var(--muted); }
.card a { color: #38bdf8; text-decoration: none; }
.card a:hover { text-decoration: underline; }
footer { text-align: center; padding: 2rem; color: var(--muted); font-size: 0.8rem; }
.mermaid { background: transparent !important; }
</style>
</head>
<body>
<header>
<div>
<h1>ATC <span>Lakehouse</span></h1>
<p>Forward Deployed Engineering — Dell Technologies · Bart &amp; Mo</p>
</div>
<a class="back" href="http://atc-docker01.dell-atc.lan/">← Dashboard</a>
</header>
<main>
<section class="diagram">
<pre class="mermaid">
flowchart TB
subgraph ops["Operations"]
HP["Homepage :80"]
GF["Grafana :3000"]
PVE["Proxmox :8006"]
end
subgraph git["Git"]
FG["Forgejo :3001"]
end
subgraph stream["Streaming"]
KF["Kafka :9092"]
KUI["Kafka UI :9000"]
DEB["Debezium :8083"]
end
subgraph compute["Compute"]
SP["Spark :8080"]
TR["Trino :8089"]
AF["Airflow :8080"]
end
subgraph data["Sources atc-db02"]
PG[(PostgreSQL)]
MY[(MySQL)]
MG[(MongoDB)]
CA[(Cassandra)]
N4[(Neo4j)]
end
subgraph store["Object Storage"]
OS["ObjectScale 10.0.20.111"]
end
subgraph bi["Analytics"]
SS["Superset :8088"]
ES["Elasticsearch :9200"]
KB["Kibana :5601"]
end
PG & MY & MG & CA --> DEB
DEB --> KF
KF --> SP
SP --> OS
TR --> PG
TR --> KF
HP --> KUI & DEB & SP & TR & OS & FG
KF --> SS
ES --> KB
</pre>
</section>
<h2 style="font-size:1.1rem;margin-bottom:1rem;color:var(--muted);">Service map</h2>
<div class="grid">
<div class="card">
<h3>Operations</h3>
<ul>
<li><a href="http://atc-docker01.dell-atc.lan/">Homepage</a> — docker01</li>
<li><a href="http://atc-grafana.dell-atc.lan:3000/">Grafana</a></li>
<li><a href="https://10.0.10.65:8006/">Proxmox</a></li>
</ul>
</div>
<div class="card">
<h3>Data pipeline</h3>
<ul>
<li><a href="http://atc-kafka01.dell-atc.lan:9000/">Kafka UI</a></li>
<li><a href="http://atc-lake01.dell-atc.lan:8083/">Debezium Connect</a></li>
<li><a href="http://atc-lake01.dell-atc.lan:8080/">Spark</a></li>
<li><a href="http://atc-lake01.dell-atc.lan:8089/ui/">Trino</a></li>
<li><a href="http://10.0.21.55:8080/">Airflow</a></li>
</ul>
</div>
<div class="card">
<h3>Storage</h3>
<ul>
<li><a href="https://10.0.20.111/">ObjectScale</a></li>
<li>atc-db01 / atc-db02 — source databases</li>
</ul>
</div>
<div class="card">
<h3>Analytics</h3>
<ul>
<li><a href="http://atc-docker01.dell-atc.lan:8088/">Superset</a></li>
<li><a href="http://atc-elastic01.dell-atc.lan:5601/">Kibana</a></li>
</ul>
</div>
<div class="card">
<h3>Git &amp; docs</h3>
<ul>
<li><a href="http://atc-mgt01.dell-atc.lan:3001/mo/Lakehouse">Forgejo — Lakehouse repo</a></li>
<li>Docs: <code>docs/landscape.md</code> in git</li>
</ul>
</div>
</div>
</main>
<footer>
ATC Lakehouse lab · Config as code in Forgejo · Diagram auto-rendered with Mermaid
</footer>
<script>
mermaid.initialize({ startOnLoad: true, theme: 'dark', securityLevel: 'loose' });
</script>
</body>
</html>
+13
View File
@@ -1,6 +1,19 @@
---
# ATC Lakehouse — Dell Technologies FDE Dashboard (Bart & Mo)
- Lakehouse · Architecture:
- Environment Map:
icon: mdi-sitemap
href: http://atc-docker01.dell-atc.lan:8080/docs/architecture.html
description: High-level diagram — data flow, hosts, and service map
color: "#007DB8"
- Git Docs:
icon: mdi-book-open-page-variant
href: http://atc-mgt01.dell-atc.lan:3001/mo/Lakehouse/src/branch/master/docs/landscape.md
description: Application landscape (Markdown in Forgejo)
color: "#E8752A"
- Data Pipeline:
- Kafka UI:
icon: http://atc-docker01.dell-atc.lan:8080/apachekafka.svg
+4
View File
@@ -15,6 +15,10 @@ background:
brightness: 0
saturate: 0
layout:
Lakehouse · Architecture:
tab: OPS
style: row
columns: 2
Data Pipeline:
tab: OPS
style: row