From a10d8b9163b58de6e022f76eef8aa3ac2eede7ef Mon Sep 17 00:00:00 2001 From: Sachal Malick Date: Mon, 26 Oct 2026 15:46:31 -0700 Subject: [PATCH] establish global router creates and code ownership Signed-off-by: Sachal Malick --- .github/codeowners/areas.yaml | 1 + CODEOWNERS | 1 + Cargo.lock | 28 +++++++++++++++++++++++++ Cargo.toml | 7 +++++++ lib/global-common/Cargo.toml | 11 ++++++++++ lib/global-common/src/lib.rs | 4 ++++ lib/global-discovery-client/Cargo.toml | 11 ++++++++++ lib/global-discovery-client/src/lib.rs | 4 ++++ lib/global-discovery-service/Cargo.toml | 11 ++++++++++ lib/global-discovery-service/src/lib.rs | 4 ++++ lib/global-frontend/Cargo.toml | 11 ++++++++++ lib/global-frontend/src/lib.rs | 4 ++++ lib/global-router/Cargo.toml | 11 ++++++++++ lib/global-router/src/lib.rs | 4 ++++ lib/global-view-broadcaster/Cargo.toml | 11 ++++++++++ lib/global-view-broadcaster/src/lib.rs | 4 ++++ lib/global-view-receiver/Cargo.toml | 11 ++++++++++ lib/global-view-receiver/src/lib.rs | 4 ++++ 18 files changed, 142 insertions(+) create mode 100644 lib/global-common/Cargo.toml create mode 100644 lib/global-common/src/lib.rs create mode 100644 lib/global-discovery-client/Cargo.toml create mode 100644 lib/global-discovery-client/src/lib.rs create mode 100644 lib/global-discovery-service/Cargo.toml create mode 100644 lib/global-discovery-service/src/lib.rs create mode 100644 lib/global-frontend/Cargo.toml create mode 100644 lib/global-frontend/src/lib.rs create mode 100644 lib/global-router/Cargo.toml create mode 100644 lib/global-router/src/lib.rs create mode 100644 lib/global-view-broadcaster/Cargo.toml create mode 100644 lib/global-view-broadcaster/src/lib.rs create mode 100644 lib/global-view-receiver/Cargo.toml create mode 100644 lib/global-view-receiver/src/lib.rs diff --git a/.github/codeowners/areas.yaml b/.github/codeowners/areas.yaml index 57f8b743f723..e3e6477031c0 100644 --- a/.github/codeowners/areas.yaml +++ b/.github/codeowners/areas.yaml @@ -76,6 +76,7 @@ areas: - docs/fern/pages/kubernetes/kv-aware-routing/kv-dc-relay.md - docs/fern/pages/reference/components/kv-dc-relay-configuration.md - lib/bindings/python/rust/llm/kv_dc_relay.rs + - lib/global-*/** - lib/llm/src/kv_dc_relay.rs - lib/llm/src/kv_dc_relay/ - lib/llm/tests/fixtures/relay-sources-canonical.json diff --git a/CODEOWNERS b/CODEOWNERS index 17aec522c0ad..d250586bb806 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -88,6 +88,7 @@ /components/src/dynamo/thunderagent_router/ @ai-dynamo/dynamo-router-codeowners # === global-router (@ai-dynamo/dynamo-global-router-codeowners) === +/lib/global-*/** @ai-dynamo/dynamo-global-router-codeowners /components/src/dynamo/kv_dc_relay/ @ai-dynamo/dynamo-global-router-codeowners # === backend-vllm (@ai-dynamo/dynamo-backend-vllm-codeowners) === diff --git a/Cargo.lock b/Cargo.lock index 26b3be9ed62e..4969b773eb19 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2475,6 +2475,34 @@ dependencies = [ "validator", ] +[[package]] +name = "dynamo-global-common" +version = "1.7.0" + +[[package]] +name = "dynamo-global-discovery-client" +version = "1.7.0" + +[[package]] +name = "dynamo-global-discovery-service" +version = "1.7.0" + +[[package]] +name = "dynamo-global-frontend" +version = "1.7.0" + +[[package]] +name = "dynamo-global-router" +version = "1.7.0" + +[[package]] +name = "dynamo-global-view-broadcaster" +version = "1.7.0" + +[[package]] +name = "dynamo-global-view-receiver" +version = "1.7.0" + [[package]] name = "dynamo-kv-hashing" version = "1.7.0" diff --git a/Cargo.toml b/Cargo.toml index 4c939fcf351b..0ad91d484a2f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,6 +12,13 @@ members = [ "lib/kv-hashing", "lib/mocker", "lib/kv-router", + "lib/global-common", + "lib/global-discovery-client", + "lib/global-discovery-service", + "lib/global-frontend", + "lib/global-router", + "lib/global-view-broadcaster", + "lib/global-view-receiver", "lib/router-plugins/catalog", "lib/router-plugins/builtin", "examples/router/custom-policy-example/soft-pin-repin", diff --git a/lib/global-common/Cargo.toml b/lib/global-common/Cargo.toml new file mode 100644 index 000000000000..b6d4a810bddb --- /dev/null +++ b/lib/global-common/Cargo.toml @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +[package] +name = "dynamo-global-common" +description = "Types shared by the Global Router components" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true diff --git a/lib/global-common/src/lib.rs b/lib/global-common/src/lib.rs new file mode 100644 index 000000000000..3dcb805a6d82 --- /dev/null +++ b/lib/global-common/src/lib.rs @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +//! Types shared by the Global Router components. diff --git a/lib/global-discovery-client/Cargo.toml b/lib/global-discovery-client/Cargo.toml new file mode 100644 index 000000000000..2bce64562194 --- /dev/null +++ b/lib/global-discovery-client/Cargo.toml @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +[package] +name = "dynamo-global-discovery-client" +description = "HTTP client for the Global Router's Global Discovery Service" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true diff --git a/lib/global-discovery-client/src/lib.rs b/lib/global-discovery-client/src/lib.rs new file mode 100644 index 000000000000..423fc3a9ea72 --- /dev/null +++ b/lib/global-discovery-client/src/lib.rs @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +//! HTTP client for the Global Router's Global Discovery Service. diff --git a/lib/global-discovery-service/Cargo.toml b/lib/global-discovery-service/Cargo.toml new file mode 100644 index 000000000000..dab58d34a06a --- /dev/null +++ b/lib/global-discovery-service/Cargo.toml @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +[package] +name = "dynamo-global-discovery-service" +description = "Pool discovery for the Global Router, served over HTTP" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true diff --git a/lib/global-discovery-service/src/lib.rs b/lib/global-discovery-service/src/lib.rs new file mode 100644 index 000000000000..ad1857d36fe1 --- /dev/null +++ b/lib/global-discovery-service/src/lib.rs @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +//! Pool discovery for the Global Router, served over HTTP. diff --git a/lib/global-frontend/Cargo.toml b/lib/global-frontend/Cargo.toml new file mode 100644 index 000000000000..002f160e41ae --- /dev/null +++ b/lib/global-frontend/Cargo.toml @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +[package] +name = "dynamo-global-frontend" +description = "OpenAI-compatible entry point that forwards requests to Dynamo pools" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true diff --git a/lib/global-frontend/src/lib.rs b/lib/global-frontend/src/lib.rs new file mode 100644 index 000000000000..0f77732fb497 --- /dev/null +++ b/lib/global-frontend/src/lib.rs @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +//! OpenAI-compatible entry point that forwards requests to Dynamo pools. diff --git a/lib/global-router/Cargo.toml b/lib/global-router/Cargo.toml new file mode 100644 index 000000000000..cd44db6cf8ed --- /dev/null +++ b/lib/global-router/Cargo.toml @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +[package] +name = "dynamo-global-router" +description = "Pool selection for the Global Router" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true diff --git a/lib/global-router/src/lib.rs b/lib/global-router/src/lib.rs new file mode 100644 index 000000000000..b07f9ec42545 --- /dev/null +++ b/lib/global-router/src/lib.rs @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +//! Pool selection for the Global Router. diff --git a/lib/global-view-broadcaster/Cargo.toml b/lib/global-view-broadcaster/Cargo.toml new file mode 100644 index 000000000000..ea1049f29262 --- /dev/null +++ b/lib/global-view-broadcaster/Cargo.toml @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +[package] +name = "dynamo-global-view-broadcaster" +description = "Sends pool state from Pool Relays to Global Routers" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true diff --git a/lib/global-view-broadcaster/src/lib.rs b/lib/global-view-broadcaster/src/lib.rs new file mode 100644 index 000000000000..8a293e322cb1 --- /dev/null +++ b/lib/global-view-broadcaster/src/lib.rs @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +//! Sends pool state from Pool Relays to Global Routers. diff --git a/lib/global-view-receiver/Cargo.toml b/lib/global-view-receiver/Cargo.toml new file mode 100644 index 000000000000..cf0fee41baa7 --- /dev/null +++ b/lib/global-view-receiver/Cargo.toml @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +[package] +name = "dynamo-global-view-receiver" +description = "Per-pool state received from Pool Relay replicas" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true diff --git a/lib/global-view-receiver/src/lib.rs b/lib/global-view-receiver/src/lib.rs new file mode 100644 index 000000000000..214b49bd9492 --- /dev/null +++ b/lib/global-view-receiver/src/lib.rs @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +//! Per-pool state received from Pool Relay replicas.