Our take
Activeregular commits and releases- Activity
- 81
- Community
- 94
- Issues
- 82
- Pull requests
- 63
+67 stars in the last 30 days
- Merges more pull requests than 92% of the projects we track
- More contributors than 78% of the projects we track
- Releases more often than 77% of the projects we track
This is an actively maintained, production-oriented Go router with recent releases and broad contributor participation, suited to teams already operating Kubernetes inference infrastructure.
Good fit if
- You need inference-aware routing based on signals such as KV-cache locality, backend load, or request priority.
- Your serving stack uses Envoy ext-proc or Kubernetes Gateway API integration.
- You want a project with regular commits and releases, and contribution activity spread across many contributors.
Look elsewhere if
- You need a standalone model server rather than a routing and coordination layer.
- Your proxy cannot use the supported ext-proc body mode, FULL_DUPLEX_STREAMED.
- You do not operate or plan to integrate with proxy or Gateway API infrastructure.
All health signals
| Last commit | 2026-10-19 (today) |
|---|---|
| Commits, last 90 days | 100+ |
| Releases, last 12 months | 25 (latest v1.0.0, 2026-10-16) |
| Contributors | 100+ (top contributor: 7% of commits) |
| Issues closed, last 90 days | 29+ (typically closed in 1 day) |
| Pull requests merged, last 90 days | 89 (typically merged in 1 day) |
| Project age | 18 months |
Checked on 2026-10-20 with the GitHub API.
Project history
Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.
Stars
467Forks
527Change since Nov 12, 2026: 0 stars·+2 forks
Overview
llm-d-router is a Go-based intelligent entry point for LLM inference traffic. Its Endpoint Picker (EPP) works with proxies such as Envoy through the ext-proc protocol, using signals including server load and KV-cache locality to choose where requests go. It supports standalone deployments with a self-managed Envoy proxy and Gateway API deployments that use an InferencePool behind an HTTPRoute.
The project is aimed at teams operating model-serving infrastructure that need routing decisions to account for inference-specific conditions, rather than relying only on general-purpose load balancing. The EPP also provides request prioritization and flow control, and the repository includes a disaggregation sidecar for coordinating multi-stage inference workflows.
Key Features
- Routes inference requests using Endpoint Picker scoring informed by InferencePool state, including KV-cache locality and current load.
- Integrates with L7 proxies such as Envoy using the ext-proc protocol.
- Supports standalone operation with Envoy as a sidecar or as a separately scalable service.
- Supports Gateway API deployments using an
InferencePool,HTTPRoute, and sharedGateway. - Provides
InferenceObjectiveconfiguration for request priorities and performance targets. - Provides
InferenceModelRewritefor model-name rewriting, including traffic management for canary rollouts and A/B testing. - Includes a disaggregation sidecar for coordinating prefill, decode, and encode stages and associated data transfers.
Use Cases
- Model-serving platform teams can route requests according to backend load and KV-cache locality.
- Kubernetes operators can connect inference backends to shared Gateway API infrastructure alongside other workloads.
- Teams evaluating inference-aware routing can run a standalone setup with a self-managed Envoy proxy.
- Serving teams using prefill/decode or encode/prefill/decode stages can use the sidecar to coordinate workers and transfers.
- Teams running canary rollouts or A/B tests can rewrite model names through the request-management API.
What you need
Detected in the repository
- Go 1.27.2 or newer (from go.mod)
- A test suite and automated checks on GitHub Actions
License in plain words
Apache-2.0permissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the license, the NOTICE file and a note of your changes
- Share your changes: no
- Includes an explicit patent grant from the contributors:
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
The README describes the standalone and Gateway API deployment modes. Start there, then use the Helm chart documentation for deployment configuration. For development, the repository uses Go 1.27.2, as declared in go.mod.
Alternatives
- a3m-router: A3M routes OpenAI-compatible requests across LLM providers by complexity and cost, rather than routing inference traffic among model-server endpoints using load and KV-cache signals.
- otari: Otari routes API requests to LLM providers and adds keys, budgets, and usage tracking, rather than selecting Kubernetes model-server endpoints based on serving signals.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| llm-d-router | Go | Apache-2.0 | 422 | Active |
| a3m-router | TypeScript | MIT | 17 | New |
| otari | Python | Apache-2.0 | 660 | Active |
Considerations
- The router is infrastructure software, not a model runtime. Adopting it means integrating it with an inference pool and a compatible proxy or Gateway API setup.
- For self-managed Envoy configurations, the README identifies
FULL_DUPLEX_STREAMEDas the only supported ext-proc request and response body mode. - The project is active, with regular commits and releases, and has activity from at least 100 contributors. Its issue and pull-request queues are being handled regularly, though the repository's open issue backlog is substantial.
- The repository is licensed under Apache-2.0. Review that license and your organization's obligations before incorporating or redistributing the code.
Found this useful?
Share it with someone who would like llm-d-router.