<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gurveer</title>
    <description>The latest articles on DEV Community by Gurveer (@gurveeer).</description>
    <link>https://dev.to/gurveeer</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F600696%2F4d5c7c7b-c23a-45b4-b59d-cd98e4a95ed1.png</url>
      <title>DEV Community: Gurveer</title>
      <link>https://dev.to/gurveeer</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gurveeer"/>
    <language>en</language>
    <item>
      <title>Introducing Aurora — The Fastest LLM Gateway for Your apps</title>
      <dc:creator>Gurveer</dc:creator>
      <pubDate>Thu, 23 Jul 2026 06:49:19 +0000</pubDate>
      <link>https://dev.to/gurveeer/introducing-aurora-the-fastest-llm-gateway-for-your-apps-lp</link>
      <guid>https://dev.to/gurveeer/introducing-aurora-the-fastest-llm-gateway-for-your-apps-lp</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flt8hyn2tizd43jrf91u0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flt8hyn2tizd43jrf91u0.png" alt="Aurora Gateway admin dashboard overview showing providers, model routing, and usage metrics" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every LLM provider has a different API, different SDK, different auth. Managing keys and endpoints across projects is painful. We kept copy-pasting different &lt;code&gt;base_url&lt;/code&gt; values and API keys into every app.&lt;/p&gt;

&lt;p&gt;But here's the thing most developers don't realize: &lt;strong&gt;you shouldn't be doing this at all.&lt;/strong&gt; This is not per-app logic — it's infrastructure. You need an intelligent gateway layer in your backend, and building it yourself is a waste of time.&lt;/p&gt;

&lt;p&gt;So we built &lt;strong&gt;Aurora Gateway&lt;/strong&gt; — an LLM gateway you integrate into your backend. Not just a proxy. Your apps use a single OpenAI-compatible SDK; Aurora handles routing, load balancing, failover, caching, guardrails, and cost tracking transparently.&lt;/p&gt;

&lt;p&gt;The OSS edition (Apache 2.0) ships with production features out of the box. Enterprise adds SSO, RBAC, and tenant isolation when you scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;Aurora sits in your backend — between your app code and LLM providers. Your app sends requests to Aurora using the standard OpenAI SDK. Aurora routes them to whichever provider you've configured, handles failure, caches responses, and tracks costs. Your app never deals with provider differences.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Before: hardcoded provider
&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.openai.com/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sk-...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# After: Aurora Gateway integrated into your backend
&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http://localhost:8080/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-aurora-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. No SDK changes. No format changes. Just point at Aurora and let it handle everything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Aurora instead of building your own?
&lt;/h2&gt;

&lt;p&gt;Every team building AI apps faces the same temptations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A config file mapping provider names to base URLs&lt;/li&gt;
&lt;li&gt;A retry utility function with exponential backoff&lt;/li&gt;
&lt;li&gt;A simple cache layer to avoid duplicate API calls&lt;/li&gt;
&lt;li&gt;A spreadsheet tracking costs across providers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are all symptoms of the same missing piece: &lt;strong&gt;a proper gateway layer.&lt;/strong&gt; Aurora is that layer — pre-built, optimized, and open-source. Don't build your own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Edition comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;OSS (Apache 2.0)&lt;/th&gt;
&lt;th&gt;Enterprise&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Auto-discovery, provider pools&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model aliases, overrides, fallback&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Semantic, exact, prompt caching&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Guardrails (PII, injection, regex, LLM-based)&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Managed API keys, rate limiting&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Token saver, usage analytics, audit logging&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Admin dashboard, workflows&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prometheus metrics, Grafana&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSO / SAML / OIDC&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RBAC, tenant isolation&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compliance workflows, budget enforcement&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Production support SLA&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Feature Overview
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F654xx9dbpb7kkf8p20nx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F654xx9dbpb7kkf8p20nx.png" alt="Aurora Gateway dashboard showing provider pools, guardrails configuration, and analytics" width="799" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Routing &amp;amp; Providers
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Auto-discovery&lt;/strong&gt; — Set an API key as an environment variable. Restart Aurora. The provider and all its models appear automatically. No config files needed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"sk-..."&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GROQ_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"gsk_..."&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"sk-ant-..."&lt;/span&gt;
aurora
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/features/providers-overview/" rel="noopener noreferrer"&gt;Providers Overview&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Provider pools&lt;/strong&gt; — Group multiple API keys or endpoints into a pool. Round-robin or weighted load balancing with health-aware failover.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# config.yaml&lt;/span&gt;
&lt;span class="na"&gt;pools&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;production&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;providers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;openai/key-1&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;openai/key-2&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;groq/backup&lt;/span&gt;
    &lt;span class="na"&gt;strategy&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;round-robin&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/features/provider-pools/" rel="noopener noreferrer"&gt;Provider Pools&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Model aliases &amp;amp; overrides&lt;/strong&gt; — Rename any model to a clean identifier across the entire gateway. Enable or disable specific models per user path.&lt;/p&gt;

&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/features/model-management/" rel="noopener noreferrer"&gt;Model Management&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fallback &amp;amp; resilience&lt;/strong&gt; — Automatic failover on 5xx/429 responses, or manual rules mapping failed provider+model to backups. Circuit breaker per provider (closed → open → half-open) with exponential backoff and jitter.&lt;/p&gt;

&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/features/failover/" rel="noopener noreferrer"&gt;Failover&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Passthrough routes&lt;/strong&gt; — &lt;code&gt;/p/{provider}/*&lt;/code&gt; for full upstream API access beyond chat completions. Filter which provider types get passthrough routes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Config-driven workflows&lt;/strong&gt; — Per-request routing, caching, guardrail, audit, usage, budget, and fallback behavior controlled by persisted workflow documents.&lt;/p&gt;

&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/advanced/workflows/" rel="noopener noreferrer"&gt;Workflows&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  API Surface
&lt;/h3&gt;

&lt;p&gt;Aurora exposes multiple API formats so any client library works:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/v1/chat/completions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI-compatible chat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/v1/embeddings&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI-compatible embeddings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/v1/rerank&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI-compatible reranking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/v1/models&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Model listing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/v1/files&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;File management&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/v1/batches&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Batch processing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/v1/responses&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Responses API with full CRUD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/v1/messages&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Anthropic-compatible (native wire format)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Streaming SSE for all endpoints, preserved end-to-end.&lt;/p&gt;

&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/api/overview/" rel="noopener noreferrer"&gt;API Reference&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Caching
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Exact cache&lt;/strong&gt; — SHA-256 hash match on request body, Redis-backed, async writes. Sub-millisecond hit detection for identical requests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Semantic cache&lt;/strong&gt; — Vector similarity with configurable threshold. Supports Qdrant, pgvector, Pinecone, and Weaviate as backends.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt cache&lt;/strong&gt; — Forwards &lt;code&gt;cache_control&lt;/code&gt; markers to Anthropic, OpenAI, and Gemini for native prompt caching. Configurable modes (auto, manual, off), component toggles, and minimum token threshold.&lt;/p&gt;

&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/features/cache/" rel="noopener noreferrer"&gt;Cache&lt;/a&gt; · &lt;a href="https://aurorallm.online/docs/features/prompt-cache/" rel="noopener noreferrer"&gt;Prompt Caching&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Security &amp;amp; Guardrails
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;PII redaction&lt;/strong&gt; — email, phone, SSN, credit card detection and masking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prompt injection blocking&lt;/strong&gt; — detects and blocks injection attempts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;System prompt protection&lt;/strong&gt; — inject, override, or decorate system prompts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regex blocking&lt;/strong&gt; — custom pattern matching with block or sanitize actions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Length limits&lt;/strong&gt; — character/token count enforcement on requests&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM-based altering&lt;/strong&gt; — rewrite message content via auxiliary LLM call&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Guardrail direction &amp;amp; ordering&lt;/strong&gt; — run before dispatch (&lt;code&gt;input&lt;/code&gt;), after response (&lt;code&gt;output&lt;/code&gt;), or both; same-order guardrails run in parallel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch guardrails&lt;/strong&gt; — apply configured guardrails to inline batch items&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Managed API keys&lt;/strong&gt; — scoped, rate-limited, per-key model authorization with usage stats&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/advanced/guardrails/" rel="noopener noreferrer"&gt;Guardrails&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Observability
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Audit logging&lt;/strong&gt; — full request/response capture, buffered writes, configurable retention, live SSE stream for real-time monitoring&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Usage analytics&lt;/strong&gt; — per-model token counting, cost tracking, daily aggregation by model and user path&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prometheus metrics&lt;/strong&gt; — &lt;code&gt;aurora_requests_total&lt;/code&gt;, &lt;code&gt;aurora_request_duration_seconds&lt;/code&gt;, &lt;code&gt;aurora_requests_in_flight&lt;/code&gt;, plus detailed gateway phase timing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Admin dashboard&lt;/strong&gt; — React SPA built into the Go binary: providers, pools, models, aliases, guardrails, cache, usage, audit, auth keys, workflows, playground&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured logging&lt;/strong&gt; — JSON/text format, configurable levels, source info&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;pprof endpoints&lt;/strong&gt; — Go runtime profiling (heap, goroutine, mutex, block)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/about/benchmarks/" rel="noopener noreferrer"&gt;Benchmarks&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost Control
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Token saver&lt;/strong&gt; — policy-driven output compression with profiles (concise, caveman, ultra, wenyan). Scoped to specific models/providers. Can reduce token spend by 30-50%.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pricing management&lt;/strong&gt; — per-model pricing overrides, recalculation, import/export&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Usage budgets&lt;/strong&gt; — per-key usage tracking and limits, per-request budget enforcement via workflow feature flags&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/features/token-saver/" rel="noopener noreferrer"&gt;Token Saver&lt;/a&gt; · &lt;a href="https://aurorallm.online/docs/features/model-pricing/" rel="noopener noreferrer"&gt;Model Pricing&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Developer Experience
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Single binary&lt;/strong&gt; — &lt;code&gt;npm install -g iaurora&lt;/code&gt; or &lt;code&gt;docker pull aurorahq/aurora&lt;/code&gt;. No dependencies, no runtime, no VM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CLI&lt;/strong&gt; — &lt;code&gt;aurora init&lt;/code&gt;, &lt;code&gt;aurora models sync/diff/show&lt;/code&gt;, &lt;code&gt;aurora update&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swagger docs&lt;/strong&gt; — interactive API reference at &lt;code&gt;/swagger/index.html&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Config profiles&lt;/strong&gt; — pre-built configs for local, local-power, and team deployments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3-layer config&lt;/strong&gt; — code defaults → &lt;code&gt;config.yaml&lt;/code&gt; → env vars (env vars win)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Helm chart&lt;/strong&gt; — deploy on Kubernetes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker Compose&lt;/strong&gt; — full infrastructure stack: Redis, PostgreSQL, Qdrant, Prometheus, Grafana&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grafana dashboard&lt;/strong&gt; — pre-configured panels for request rate, errors, latency, in-flight requests, per-model breakdown&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn more: &lt;a href="https://aurorallm.online/docs/getting-started/quickstart/" rel="noopener noreferrer"&gt;Quick Start&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;17ms p50 latency&lt;/strong&gt;, 41ms p99 routing latency&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;7K rps&lt;/strong&gt; throughput on a single node&lt;/li&gt;
&lt;li&gt;Built in native Go — single binary, optimized for minimum latency&lt;/li&gt;
&lt;li&gt;55x faster than litellm python.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; iaurora
&lt;span class="nb"&gt;mkdir &lt;/span&gt;my-gateway &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd &lt;/span&gt;my-gateway
aurora init
&lt;span class="c"&gt;# Edit .env with your API keys&lt;/span&gt;
aurora
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:8080 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;AURORA_MASTER_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"your-key"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"sk-..."&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  aurorahq/aurora
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or Kubernetes with Helm:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;helm &lt;span class="nb"&gt;install &lt;/span&gt;aurora ./helm &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--namespace&lt;/span&gt; aurora &lt;span class="nt"&gt;--create-namespace&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--set&lt;/span&gt; auth.masterKey&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"your-key"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--set&lt;/span&gt; providers.openai.apiKey&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"sk-..."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aurora Gateway is open-source (Apache 2.0), self-hosted, and production-ready. Try it today:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; iaurora
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt; &lt;a href="https://aurorallm.online/docs" rel="noopener noreferrer"&gt;Docs&lt;/a&gt; · &lt;a href="https://github.com/aurorallm/aurora" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; · &lt;a href="https://aurorallm.online" rel="noopener noreferrer"&gt;Website&lt;/a&gt; · &lt;a href="https://discord.gg/AfaFBSU2km" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>go</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
