Project · Arion
FAQ
Short answers to common questions about Arion, each linking to the page that covers the topic in full.
Short answers, grouped by theme; each links to the page that covers the topic in full. If your question is not here, ask it on GitHub Discussions.
About the project
What is Arion, and who is it for?
Arion is an open-source L7 and L4 proxy and API gateway written in Rust. It reads Envoy configuration natively and runs as an API gateway, an LLM gateway and an MCP gateway — one data plane for services, models and tools. It is built for infrastructure and platform teams, including the ones whose traffic now includes models and agents. What is Arion has the full picture.
Who develops Arion, and is it backed by a company?
Arion is an independent fork of Kmesh Orion, led by the projects original authors and long-term core maintainers. The team previously worked in Huawei's European research labs. Huawei has since decided to discontinue its European cloud research activities. Introducing Arion explains the project's origins.
The Arion project currently has no commercial organisation backing it. Huawei is not affiliated with Arion and does not currently sponsor, endorse, support or actively contribute to the project.
Separately, Huawei, has previously, and continues to sponsor or otherwise contribute to a number of other open-source projects in the ecosystem, such as agentgateway and Envoy.
What license is Arion under?
Arion is licensed under Apache-2.0. This website's code is Apache-2.0 as well, and its content is CC BY 4.0. The source lives on GitHub.
What is Arion's stance on AI-assisted development?
We like AI and use it a lot; our small team simply could not build and maintain Arion at the speed we do, without it. We are equally aware of its limitations: the many small decisions that preserve Arion’s performance and flexibility cannot be outsourced to an agent. We always read the code and review it carefully, we are always particularly careful about code changes that touch the data path. Review bandwidth is our most constrained resource, so we favour feature requests and discussion over code submissions. Large code contributions will almost certainly be refused; small, obvious fixes remain welcome. The Community page explains our approach.
Is Arion ready for production?
Yes, with one caveat. The core proxy and gateway build on a codebase proven across thousands of production instances. The newest surfaces are younger — the LLM gateway is still landing and its documentation is under construction — so evaluate those against your use case. Introducing Arion has the background.
Compatibility
Can I use my existing Envoy configuration?
That is the idea. Arion consumes Envoy configuration as a static bootstrap file or dynamically over xDS, and makes a strict promise: if it accepts a configuration, it behaves essentially like Envoy, and if it cannot honor one, it refuses to start rather than silently ignoring any part of it. Envoy compatibility defines the supported subset.
Does Arion work with my xDS control plane?
Arion connects to an existing xDS control plane the way Envoy does: listeners, routes, clusters and secrets arrive dynamically and apply without pausing traffic, and configuration Arion cannot honor is rejected and reported back. xDS control planes covers the supported resource types and how to connect one. The Arion control plane supports files, an Elixir shell, application code, and Kubernetes Gateway API.
How do I migrate from Envoy?
Point Arion at your existing bootstrap or control plane. The strict compatibility promise tells you immediately where you stand: a configuration Arion cannot honor refuses to load instead of degrading silently. Migrate from Envoy walks through a real move.
Performance
How fast is Arion?
Arion matches nginx, beats it in a number of scenarios, and delivers multiples of the throughput of Envoy, agentgateway and other gateways with similar feature sets. The benchmarks publish the numbers together with the hardware, versions and method behind them.
Can I reproduce the benchmark numbers?
Yes — that is why they are published with their method. The benchmarks include the test bed, the software versions, the configurations under test and the raw data, so you can rerun the scenarios on your own hardware.
What makes Arion fast?
Not the language — other gateways are written in Rust too, and Arion delivers multiples of their throughput. The speed comes from careful design and discipline: minimal allocations on the hot path, a lock-free data path with configuration updates delivered as messages, runtimes pinned to cores, and nothing on the request path that can block. Architecture describes how the pieces fit.
LLM gateway
What is the LLM gateway, and is it ready?
The LLM gateway runs Arion as one endpoint in front of several model providers, with failover between them, token budgets and guardrails. The feature ships shortly, and its documentation is being written alongside it. The LLM gateway overview lists what is coming.
MCP gateway
What is the MCP gateway?
An HTTP filter that makes Arion itself the server side of the Model Context Protocol. Agents connect to one /mcp endpoint, and Arion serves a registry of tools backed by your existing REST APIs, OpenAPI documents and upstream MCP servers — with per-tool authorization, tool search and discovery over xDS. Start at the MCP gateway overview.
What is code mode?
One of the MCP gateway's two modes. Instead of one model turn per tool call, the agent sends a single TypeScript script to one execute tool, and Arion runs it in a sandbox — a whole workflow of tool calls in one exchange. Code mode explains the SDK, the sandbox and the limits.
Support and community
Where do I get help?
Start in the open: ask on GitHub Discussions, and report bugs on GitHub issues with the version, a minimal config and what you expected. The support page lists every route, including working with the core maintainers directly.
How do I report a security issue?
Privately, through GitHub's private vulnerability reporting on the Arion repository — never in a public issue, discussion or pull request. The security policy explains what to include and what to expect after you report.
How do I contribute?
Start with a discussion or an issue, not a pull request. Real-world use cases, well-reported bugs and feature requests are extremely valuable to the project. The maintainers are a small team who prefer to agree on a design in the open before code is written. Small, obvious fixes are always welcome. Community explains how it works.