68 lines
2.1 KiB
Plaintext
68 lines
2.1 KiB
Plaintext
```plaintext
|
|
%% Tiered Storage Strategy (ADR-0026)
|
|
%% C4 Component diagram showing Longhorn + NFS dual-tier
|
|
|
|
flowchart TB
|
|
subgraph tier1["🚀 TIER 1: LONGHORN (Fast Distributed Block)"]
|
|
direction TB
|
|
|
|
subgraph nodes["Cluster Nodes"]
|
|
direction LR
|
|
khelben["🖥️ khelben<br/>/var/mnt/longhorn<br/>NVMe"]
|
|
mystra["🖥️ mystra<br/>/var/mnt/longhorn<br/>SSD"]
|
|
selune["🖥️ selune<br/>/var/mnt/longhorn<br/>SSD"]
|
|
end
|
|
|
|
longhorn_mgr["⚙️ Longhorn Manager<br/>(Schedules 2-3 replicas)"]
|
|
|
|
subgraph longhorn_pvcs["Performance Workloads"]
|
|
direction LR
|
|
pg["🐘 PostgreSQL"]
|
|
vault["🔐 Vault"]
|
|
prom["📊 Prometheus"]
|
|
click["📋 ClickHouse"]
|
|
end
|
|
end
|
|
|
|
subgraph tier2["💾 TIER 2: NFS-SLOW (High-Capacity Bulk)"]
|
|
direction TB
|
|
|
|
nas["🗄️ candlekeep.lab.daviestechlabs.io<br/>External NAS<br/>/kubernetes"]
|
|
|
|
nfs_csi["📂 NFS CSI Driver"]
|
|
|
|
subgraph nfs_pvcs["Bulk Storage Workloads"]
|
|
direction LR
|
|
jellyfin["🎬 Jellyfin<br/>(1TB+ media)"]
|
|
nextcloud["☁️ Nextcloud"]
|
|
immich["📷 Immich"]
|
|
kavita["📚 Kavita"]
|
|
mlflow["📈 MLflow<br/>Artifacts"]
|
|
ray_models["🤖 Ray<br/>Model Weights"]
|
|
end
|
|
end
|
|
|
|
%% Tier 1 connections
|
|
nodes --> longhorn_mgr
|
|
longhorn_mgr --> longhorn_pvcs
|
|
|
|
%% Tier 2 connections
|
|
nas --> nfs_csi
|
|
nfs_csi --> nfs_pvcs
|
|
|
|
classDef tier1_node fill:#3498db,color:white
|
|
classDef tier1_mgr fill:#2980b9,color:white
|
|
classDef tier1_pvc fill:#1abc9c,color:white
|
|
classDef tier2_nas fill:#e74c3c,color:white
|
|
classDef tier2_csi fill:#c0392b,color:white
|
|
classDef tier2_pvc fill:#f39c12,color:black
|
|
|
|
class khelben,mystra,selune tier1_node
|
|
class longhorn_mgr tier1_mgr
|
|
class pg,vault,prom,click tier1_pvc
|
|
class nas tier2_nas
|
|
class nfs_csi tier2_csi
|
|
class jellyfin,nextcloud,immich,kavita,mlflow,ray_models tier2_pvc
|
|
|
|
```
|