67 lines
2.0 KiB
Plaintext
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
|
|
|
|
```
|