Files
homelab-design/diagrams/ray-repository-structure.mmd

67 lines
2.0 KiB
Plaintext

```plaintext
%% Ray Repository Structure (ADR-0024)
%% Flowchart showing build and dynamic loading flow
flowchart TB
subgraph repos["📁 Repositories"]
direction LR
kuberay["kuberay-images<br/>🐳 Docker images<br/>(infrequent updates)"]
rayserve["ray-serve<br/>📦 PyPI package<br/>(frequent updates)"]
end
subgraph ci["🔧 CI/CD Pipelines"]
direction LR
build_images["Build Docker<br/>nvidia, rdna2,<br/>strixhalo, intel"]
build_pypi["Build wheel<br/>uv build"]
end
subgraph registries["📦 Registries"]
direction LR
container_reg["🐳 Container Registry<br/>registry.lab.daviestechlabs.io"]
pypi_reg["📦 PyPI Registry<br/>git.daviestechlabs.io/pypi"]
end
subgraph ray["⚡ Ray Cluster"]
direction TB
head["🧠 Head Node"]
workers["🖥️ Worker Nodes<br/>(GPU-specific)"]
subgraph runtime["🔄 Runtime Loading"]
pull_image["docker pull<br/>ray-worker-*"]
pip_install["pip install ray-serve<br/>runtime_env"]
end
serve_apps["Ray Serve Apps<br/>/llm, /whisper, etc."]
end
subgraph k8s["☸️ Kubernetes"]
manifests["RayService CR<br/>(homelab-k8s2)"]
end
%% Build flows
kuberay --> build_images
rayserve --> build_pypi
build_images --> container_reg
build_pypi --> pypi_reg
%% Deployment flow
manifests --> ray
container_reg --> pull_image
pull_image --> workers
pypi_reg --> pip_install
pip_install --> serve_apps
classDef repo fill:#3498db,color:white
classDef ci fill:#f39c12,color:black
classDef registry fill:#9b59b6,color:white
classDef ray fill:#27ae60,color:white
classDef k8s fill:#e74c3c,color:white
class kuberay,rayserve repo
class build_images,build_pypi ci
class container_reg,pypi_reg registry
class head,workers,pull_image,pip_install,serve_apps ray
class manifests k8s
```