iaurora 1.0.30 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +1 -1
- package/README.md +400 -207
- package/bin/aurora.exe +0 -0
- package/package.json +1 -1
package/.env.example
CHANGED
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
# =============================================================================
|
|
124
124
|
|
|
125
125
|
# External model metadata registry. Leave empty to disable upstream fetch.
|
|
126
|
-
# MODEL_LIST_URL=https://
|
|
126
|
+
# MODEL_LIST_URL=https://github.com/aurorallm/aurora/blob/main/docs-assets/assets/models.json
|
|
127
127
|
|
|
128
128
|
# Local model registry snapshot and user pricing overrides
|
|
129
129
|
# MODEL_LIST_LOCAL_PATH=data/models.local.json
|
package/README.md
CHANGED
|
@@ -1,34 +1,109 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/aurora-logo-animated.svg" width="96" height="96" alt="Aurora Logo">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs-assets/assets/aurora-logo-animated.svg" width="96" height="96" alt="Aurora Logo">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<h1 align="center">Aurora
|
|
5
|
+
<h1 align="center">Aurora — Open-Source AI Gateway</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<a href="LICENSE"><img src="https://img.shields.io/github/license/aurorallm/aurora" alt="License" height="20"></a>
|
|
9
9
|
<a href="https://www.npmjs.com/package/iaurora"><img src="https://img.shields.io/npm/v/iaurora" alt="npm" height="20"></a>
|
|
10
|
-
<a href="https://codecov.io/gh/aurorallm/aurora"><img src="https://codecov.io/gh/aurorallm/aurora/branch/main/graph/badge.svg" alt="codecov" height="20"></a>
|
|
11
10
|
<a href="https://github.com/aurorallm/aurora"><img src="https://img.shields.io/github/stars/aurorallm/aurora" alt="GitHub Stars" height="20"></a>
|
|
12
|
-
<a href="https://discord.gg/
|
|
11
|
+
<a href="https://discord.gg/AfaFBSU2km"><img src="https://dcbadge.limes.pink/api/server/https://discord.gg/AfaFBSU2km?style=flat" alt="Discord" height="20"></a>
|
|
13
12
|
<img src="https://img.shields.io/docker/pulls/aurorahq/aurora" alt="Docker Pulls" height="20">
|
|
14
|
-
<a href="https://artifacthub.io/packages/search?repo=aurora-gateway"><img src="https://artifacthub.io/badge/repository/aurora-gateway" alt="Artifact Hub" height="20"></a>
|
|
13
|
+
<a href="https://artifacthub.io/packages/search?repo=aurora-gateway"><img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/aurora-gateway" alt="Artifact Hub" height="20"></a>
|
|
15
14
|
</p>
|
|
16
15
|
|
|
17
|
-
<p align="center"><b>
|
|
16
|
+
<p align="center"><b>One API for every AI provider. Self-hosted. No vendor lock-in.</b></p>
|
|
18
17
|
|
|
19
|
-
<p align="center">
|
|
18
|
+
<p align="center">14 provider types • OpenAI & Anthropic compatible • Built in Go • Apache 2.0</p>
|
|
20
19
|
|
|
21
|
-
<a href="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/dashboard-overview.png">
|
|
22
|
-
<img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/dashboard-overview.png" alt="Aurora
|
|
20
|
+
<a href="https://raw.githubusercontent.com/aurorallm/aurora/main/docs-assets/assets/dashboard-overview.png">
|
|
21
|
+
<img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs-assets/assets/dashboard-overview.png" alt="Aurora admin dashboard showing provider stats and usage metrics" width="100%">
|
|
23
22
|
</a>
|
|
24
23
|
|
|
25
24
|
---
|
|
26
25
|
|
|
26
|
+
## What Aurora Does
|
|
27
|
+
|
|
28
|
+
Aurora sits between your app and LLM providers. Your app sends requests using the standard OpenAI or Anthropic SDK — Aurora routes them to whichever provider you've configured.
|
|
29
|
+
|
|
30
|
+
```python
|
|
31
|
+
# Before: hardcoded provider
|
|
32
|
+
client = OpenAI(base_url="https://api.openai.com/v1", api_key="sk-...")
|
|
33
|
+
|
|
34
|
+
# After: Aurora Gateway
|
|
35
|
+
client = OpenAI(base_url="http://localhost:8080/v1", api_key="your-aurora-key")
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
No SDK changes. No format changes. Just swap the `base_url`.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Features
|
|
43
|
+
|
|
44
|
+
### Routing & Providers
|
|
45
|
+
|
|
46
|
+
- **14 provider types** — OpenAI, Anthropic, Gemini, Groq, DeepSeek, OpenRouter, xAI, Z.ai, MiniMax, Azure OpenAI, Oracle, Ollama, vLLM, Jina
|
|
47
|
+
- **Auto-discovery** — set an API key as an env var, restart, provider + all its models appear automatically
|
|
48
|
+
- **Provider pools** — group multiple keys/endpoints, load-balance with round-robin, health-aware failover
|
|
49
|
+
- **Fallback** — automatic failover on 5xx/429, or manual rules mapping failed provider+model to backups
|
|
50
|
+
- **Resilience** — exponential backoff with jitter, circuit breaker per provider (closed → open → half-open)
|
|
51
|
+
- **Multiple instances** — run `OPENAI_EAST_API_KEY` and `OPENAI_WEST_API_KEY` as separate providers
|
|
52
|
+
- **Custom base URLs** — override any provider's endpoint (corporate proxies, regional endpoints)
|
|
53
|
+
- **Passthrough** — `/p/{provider}/*` for full upstream API access (not just chat completions)
|
|
54
|
+
|
|
55
|
+
### API Surface
|
|
56
|
+
|
|
57
|
+
- **OpenAI-compatible** — `/v1/chat/completions`, `/v1/embeddings`, `/v1/rerank`, `/v1/models`, `/v1/files`, `/v1/batches`
|
|
58
|
+
- **Responses API** — `/v1/responses` with full CRUD, cancel, input items, compact
|
|
59
|
+
- **Anthropic-compatible** — `/v1/messages`, `/v1/messages/count_tokens` (native Anthropic wire format)
|
|
60
|
+
- **Streaming** — SSE streaming for all endpoints, preserved end-to-end
|
|
61
|
+
|
|
62
|
+
### Caching
|
|
63
|
+
|
|
64
|
+
- **Exact cache** — SHA-256 hash match on request, Redis-backed, async writes
|
|
65
|
+
- **Semantic cache** — vector similarity with configurable threshold, supports Qdrant, pgvector, Pinecone, Weaviate
|
|
66
|
+
- **Prompt cache** — forwards `cache_control` to Anthropic/OpenAI/Gemini native prompt caching
|
|
67
|
+
- **Model registry cache** — local filesystem + Redis, offline-safe
|
|
68
|
+
|
|
69
|
+
### Security & Guardrails
|
|
70
|
+
|
|
71
|
+
- **Master key** — top-level gateway auth
|
|
72
|
+
- **Managed API keys** — scoped, rate-limited, per-key model authorization, usage stats
|
|
73
|
+
- **PII redaction** — email, phone, SSN, credit card detection and masking
|
|
74
|
+
- **Prompt injection blocking** — detects and blocks injection attempts
|
|
75
|
+
- **System prompt protection** — inject, override, or decorate system prompts
|
|
76
|
+
- **Regex blocking** — custom pattern matching with block or sanitize actions
|
|
77
|
+
- **Length limits** — character/token count enforcement on requests
|
|
78
|
+
|
|
79
|
+
### Observability
|
|
80
|
+
|
|
81
|
+
- **Audit logging** — full request/response capture, buffered writes, configurable retention, live SSE stream
|
|
82
|
+
- **Usage analytics** — per-model token counting, cost tracking, daily aggregation by model/user-path
|
|
83
|
+
- **Prometheus metrics** — `aurora_requests_total`, `aurora_request_duration_seconds`, `aurora_requests_in_flight`, plus gateway phase timing
|
|
84
|
+
- **Admin dashboard** — React SPA built into the Go binary: providers, pools, models, aliases, guardrails, cache, usage, audit, auth keys, workflows, console, playground
|
|
85
|
+
|
|
86
|
+
### Cost Control
|
|
87
|
+
|
|
88
|
+
- **Token saver** — policy-driven output compression (profiles: concise, caveman, ultra, wenyan)
|
|
89
|
+
- **Pricing management** — per-model pricing overrides, recalculation, import/export
|
|
90
|
+
- **Usage budgets** — per-key usage tracking and limits
|
|
91
|
+
|
|
92
|
+
### Developer Experience
|
|
93
|
+
|
|
94
|
+
- **Single binary** — `npm install -g iaurora` or `docker pull aurorahq/aurora`
|
|
95
|
+
- **CLI** — `aurora init`, `aurora models sync/diff/show`, `aurora update`, `aurora uninstall`
|
|
96
|
+
- **Swagger docs** — `/swagger/index.html` (build-tag gated)
|
|
97
|
+
- **Config profiles** — pre-built configs for local, local-power, and team deployments
|
|
98
|
+
- **3-layer config** — code defaults → config.yaml → env vars (env vars win)
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
27
102
|
## Quick Start
|
|
28
103
|
|
|
29
|
-
Start routing AI traffic in 60 seconds
|
|
104
|
+
Start routing AI traffic in 60 seconds.
|
|
30
105
|
|
|
31
|
-
### CLI (npm)
|
|
106
|
+
### Option A — CLI (npm)
|
|
32
107
|
|
|
33
108
|
```bash
|
|
34
109
|
npm install -g iaurora
|
|
@@ -36,93 +111,164 @@ mkdir my-gateway && cd my-gateway
|
|
|
36
111
|
aurora init # creates config.yaml, .env, data/
|
|
37
112
|
```
|
|
38
113
|
|
|
39
|
-
|
|
114
|
+
Set your provider keys in `.env`:
|
|
40
115
|
|
|
41
116
|
```env
|
|
42
|
-
|
|
43
|
-
|
|
117
|
+
# ── REQUIRED ──────────────────────────────────────────────
|
|
118
|
+
AURORA_MASTER_KEY="your-secure-key"
|
|
119
|
+
|
|
120
|
+
# ── PROVIDER API KEYS (at least one) ─────────────────────
|
|
121
|
+
OPENAI_API_KEY="sk-..."
|
|
122
|
+
ANTHROPIC_API_KEY="sk-ant-..."
|
|
123
|
+
GEMINI_API_KEY="..."
|
|
124
|
+
GROQ_API_KEY="gsk_..."
|
|
125
|
+
DEEPSEEK_API_KEY="..."
|
|
126
|
+
OPENROUTER_API_KEY="..."
|
|
127
|
+
XAI_API_KEY="..."
|
|
128
|
+
ZAI_API_KEY="..."
|
|
129
|
+
MINIMAX_API_KEY="..."
|
|
130
|
+
AZURE_API_KEY="..."
|
|
131
|
+
ORACLE_API_KEY="..."
|
|
132
|
+
OLLAMA_API_KEY="..."
|
|
133
|
+
VLLM_API_KEY="..."
|
|
134
|
+
JINA_API_KEY="..."
|
|
135
|
+
|
|
136
|
+
# ── OPTIONAL FEATURE TOGGLES (set true to enable) ────────
|
|
137
|
+
LOGGING_ENABLED=true # Audit logging to storage
|
|
138
|
+
METRICS_ENABLED=true # Prometheus /metrics endpoint
|
|
139
|
+
GUARDRAILS_ENABLED=true # Content safety filters
|
|
140
|
+
TOKEN_SAVER_ENABLED=true # Output compression to cut token use
|
|
141
|
+
|
|
142
|
+
# ── PRODUCTION STORAGE ───────────────────────────────────
|
|
143
|
+
# STORAGE_TYPE=postgresql
|
|
144
|
+
# POSTGRES_URL=postgres://user:pass@localhost:5432/aurora
|
|
145
|
+
|
|
146
|
+
# ── REDIS CACHE (model cache + response cache) ──────────
|
|
147
|
+
# REDIS_URL=redis://localhost:6379
|
|
148
|
+
# RESPONSE_CACHE_SIMPLE_ENABLED=true
|
|
44
149
|
```
|
|
45
150
|
|
|
46
151
|
```bash
|
|
47
152
|
aurora
|
|
48
153
|
```
|
|
49
154
|
|
|
50
|
-
|
|
155
|
+
### Option B — inline env vars (no `.env` needed)
|
|
51
156
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
AURORA_MASTER_KEY=your-secure-key GROQ_API_KEY=gsk_... aurora
|
|
55
|
-
|
|
56
|
-
# Windows PowerShell
|
|
57
|
-
$env:AURORA_MASTER_KEY="your-secure-key"; $env:GROQ_API_KEY="gsk_..."; aurora
|
|
157
|
+
<details>
|
|
158
|
+
<summary>Linux / macOS</summary>
|
|
58
159
|
|
|
59
|
-
|
|
60
|
-
|
|
160
|
+
```bash
|
|
161
|
+
AURORA_MASTER_KEY=your-secure-key \
|
|
162
|
+
OPENAI_API_KEY=sk-... \
|
|
163
|
+
ANTHROPIC_API_KEY=sk-ant-... \
|
|
164
|
+
GEMINI_API_KEY=... \
|
|
165
|
+
GROQ_API_KEY=gsk_... \
|
|
166
|
+
DEEPSEEK_API_KEY=... \
|
|
167
|
+
OPENROUTER_API_KEY=... \
|
|
168
|
+
XAI_API_KEY=... \
|
|
169
|
+
ZAI_API_KEY=... \
|
|
170
|
+
MINIMAX_API_KEY=... \
|
|
171
|
+
AZURE_API_KEY=... \
|
|
172
|
+
ORACLE_API_KEY=... \
|
|
173
|
+
OLLAMA_API_KEY=... \
|
|
174
|
+
VLLM_API_KEY=... \
|
|
175
|
+
JINA_API_KEY=... \
|
|
176
|
+
LOGGING_ENABLED=true \
|
|
177
|
+
METRICS_ENABLED=true \
|
|
178
|
+
GUARDRAILS_ENABLED=true \
|
|
179
|
+
TOKEN_SAVER_ENABLED=true \
|
|
180
|
+
aurora
|
|
181
|
+
```
|
|
182
|
+
</details>
|
|
183
|
+
|
|
184
|
+
<details>
|
|
185
|
+
<summary>Windows PowerShell</summary>
|
|
186
|
+
|
|
187
|
+
```powershell
|
|
188
|
+
$env:AURORA_MASTER_KEY="your-secure-key"; `
|
|
189
|
+
$env:OPENAI_API_KEY="sk-..."; `
|
|
190
|
+
$env:ANTHROPIC_API_KEY="sk-ant-..."; `
|
|
191
|
+
$env:GEMINI_API_KEY="..."; `
|
|
192
|
+
$env:GROQ_API_KEY="gsk_..."; `
|
|
193
|
+
$env:DEEPSEEK_API_KEY="..."; `
|
|
194
|
+
$env:OPENROUTER_API_KEY="..."; `
|
|
195
|
+
$env:XAI_API_KEY="..."; `
|
|
196
|
+
$env:ZAI_API_KEY="..."; `
|
|
197
|
+
$env:MINIMAX_API_KEY="..."; `
|
|
198
|
+
$env:AZURE_API_KEY="..."; `
|
|
199
|
+
$env:ORACLE_API_KEY="..."; `
|
|
200
|
+
$env:OLLAMA_API_KEY="..."; `
|
|
201
|
+
$env:VLLM_API_KEY="..."; `
|
|
202
|
+
$env:JINA_API_KEY="..."; `
|
|
203
|
+
$env:LOGGING_ENABLED="true"; `
|
|
204
|
+
$env:METRICS_ENABLED="true"; `
|
|
205
|
+
$env:GUARDRAILS_ENABLED="true"; `
|
|
206
|
+
$env:TOKEN_SAVER_ENABLED="true"; `
|
|
207
|
+
aurora
|
|
61
208
|
```
|
|
209
|
+
</details>
|
|
210
|
+
|
|
211
|
+
<details>
|
|
212
|
+
<summary>Windows CMD</summary>
|
|
213
|
+
|
|
214
|
+
```cmd
|
|
215
|
+
set AURORA_MASTER_KEY=your-secure-key ^
|
|
216
|
+
&& set OPENAI_API_KEY=sk-... ^
|
|
217
|
+
&& set ANTHROPIC_API_KEY=sk-ant-... ^
|
|
218
|
+
&& set GEMINI_API_KEY=... ^
|
|
219
|
+
&& set GROQ_API_KEY=gsk_... ^
|
|
220
|
+
&& set DEEPSEEK_API_KEY=... ^
|
|
221
|
+
&& set OPENROUTER_API_KEY=... ^
|
|
222
|
+
&& set XAI_API_KEY=... ^
|
|
223
|
+
&& set ZAI_API_KEY=... ^
|
|
224
|
+
&& set MINIMAX_API_KEY=... ^
|
|
225
|
+
&& set AZURE_API_KEY=... ^
|
|
226
|
+
&& set ORACLE_API_KEY=... ^
|
|
227
|
+
&& set OLLAMA_API_KEY=... ^
|
|
228
|
+
&& set VLLM_API_KEY=... ^
|
|
229
|
+
&& set JINA_API_KEY=... ^
|
|
230
|
+
&& set LOGGING_ENABLED=true ^
|
|
231
|
+
&& set METRICS_ENABLED=true ^
|
|
232
|
+
&& set GUARDRAILS_ENABLED=true ^
|
|
233
|
+
&& set TOKEN_SAVER_ENABLED=true ^
|
|
234
|
+
&& aurora
|
|
235
|
+
```
|
|
236
|
+
</details>
|
|
62
237
|
|
|
63
|
-
### Docker
|
|
238
|
+
### Option C — Docker
|
|
64
239
|
|
|
65
240
|
```bash
|
|
66
241
|
docker run -d --name aurora -p 8080:8080 \
|
|
67
242
|
-e AURORA_MASTER_KEY="your-secure-key" \
|
|
243
|
+
-e OPENAI_API_KEY="sk-..." \
|
|
244
|
+
-e ANTHROPIC_API_KEY="sk-ant-..." \
|
|
245
|
+
-e GEMINI_API_KEY="..." \
|
|
68
246
|
-e GROQ_API_KEY="gsk_..." \
|
|
247
|
+
-e DEEPSEEK_API_KEY="..." \
|
|
248
|
+
-e OPENROUTER_API_KEY="..." \
|
|
249
|
+
-e XAI_API_KEY="..." \
|
|
250
|
+
-e ZAI_API_KEY="..." \
|
|
251
|
+
-e MINIMAX_API_KEY="..." \
|
|
252
|
+
-e AZURE_API_KEY="..." \
|
|
253
|
+
-e ORACLE_API_KEY="..." \
|
|
254
|
+
-e OLLAMA_API_KEY="..." \
|
|
255
|
+
-e VLLM_API_KEY="..." \
|
|
256
|
+
-e JINA_API_KEY="..." \
|
|
257
|
+
-e LOGGING_ENABLED=true \
|
|
258
|
+
-e METRICS_ENABLED=true \
|
|
259
|
+
-e GUARDRAILS_ENABLED=true \
|
|
260
|
+
-e TOKEN_SAVER_ENABLED=true \
|
|
69
261
|
aurorahq/aurora
|
|
70
262
|
```
|
|
71
263
|
|
|
72
|
-
### Kubernetes (Helm)
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
helm install aurora ./helm \
|
|
76
|
-
--namespace aurora --create-namespace \
|
|
77
|
-
--set auth.masterKey="your-secure-key" \
|
|
78
|
-
--set providers.groq.apiKey="gsk_..." \
|
|
79
|
-
--set providers.groq.enabled=true \
|
|
80
|
-
--set redis.enabled=false
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Test your gateway
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
curl http://localhost:8080/v1/chat/completions \
|
|
87
|
-
-H "Content-Type: application/json" \
|
|
88
|
-
-H "Authorization: Bearer $(grep AURORA_MASTER_KEY .env | cut -d= -f2)" \
|
|
89
|
-
-d '{"model":"groq/llama-3.3-70b-versatile","messages":[{"role":"user","content":"Hello!"}]}'
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Dashboard: `http://localhost:8080/admin/dashboard`
|
|
93
|
-
|
|
94
|
-
**Setup guides:** [npm](https://www.npmjs.com/package/iaurora) · [Docker](https://hub.docker.com/r/aurorahq/aurora) · [Helm/Kubernetes](https://github.com/aurorallm/aurora/tree/main/helm) · [Source](https://github.com/aurorallm/aurora)
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## Enterprise Deployments
|
|
99
|
-
|
|
100
|
-
Aurora supports enterprise-grade deployments for teams running production AI systems at scale.
|
|
101
|
-
In addition to private networking, custom security controls, and governance, **Aurora Enterprise** unlocks advanced capabilities including SSO, RBAC, tenant isolation, budget enforcement, compliance workflows, and production support.
|
|
102
|
-
|
|
103
|
-
The Enterprise edition is a separate distribution with a signed license.
|
|
104
|
-
|
|
105
|
-
<a href="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/comparison.png">
|
|
106
|
-
<img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/comparison.png" alt="OSS vs Enterprise comparison" width="100%" style="border-radius:12px;margin:16px 0;">
|
|
107
|
-
</a>
|
|
108
|
-
|
|
109
|
-
<div align="center">
|
|
110
|
-
<a href="mailto:team.auroragate@gmail.com?subject=Aurora%20Enterprise%20Inquiry" style="display:block;margin-top:5px;">
|
|
111
|
-
<img src="https://img.shields.io/badge/Email%20Us-Enterprise-5865F2?style=for-the-badge&logo=gmail&logoColor=white" alt="Email Aurora Enterprise" width="200"/>
|
|
112
|
-
</a>
|
|
113
|
-
</div>
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## Kubernetes (Helm)
|
|
118
|
-
|
|
119
|
-
Deploy on any Kubernetes cluster with the [Helm chart](https://github.com/aurorallm/aurora/tree/main/helm).
|
|
264
|
+
### Option D — Kubernetes (Helm)
|
|
120
265
|
|
|
121
266
|
```bash
|
|
122
267
|
# Quick dev — Groq, no Redis, no auth
|
|
123
268
|
helm install aurora ./helm \
|
|
124
269
|
--namespace aurora --create-namespace \
|
|
125
|
-
--set image.
|
|
270
|
+
--set image.repository=aurorahq/aurora \
|
|
271
|
+
--set image.tag=latest \
|
|
126
272
|
--set providers.groq.apiKey="gsk_your_key_here" \
|
|
127
273
|
--set providers.groq.enabled=true \
|
|
128
274
|
--set redis.enabled=false \
|
|
@@ -133,85 +279,125 @@ helm install aurora ./helm \
|
|
|
133
279
|
# Production — multiple providers, auth, Redis
|
|
134
280
|
helm upgrade --install aurora ./helm \
|
|
135
281
|
--namespace aurora --create-namespace \
|
|
136
|
-
--set image.
|
|
282
|
+
--set image.repository=aurorahq/aurora \
|
|
283
|
+
--set image.tag=latest \
|
|
137
284
|
--set auth.masterKey="your-secure-key" \
|
|
138
285
|
--set providers.openai.apiKey="sk-..." \
|
|
139
286
|
--set providers.openai.enabled=true \
|
|
140
287
|
--set providers.anthropic.apiKey="sk-ant-..." \
|
|
141
288
|
--set providers.anthropic.enabled=true \
|
|
289
|
+
--set providers.gemini.apiKey="..." \
|
|
290
|
+
--set providers.gemini.enabled=true \
|
|
291
|
+
--set providers.groq.apiKey="gsk_..." \
|
|
292
|
+
--set providers.groq.enabled=true \
|
|
293
|
+
--set providers.deepseek.apiKey="..." \
|
|
294
|
+
--set providers.deepseek.enabled=true \
|
|
142
295
|
--set redis.enabled=true
|
|
143
296
|
```
|
|
144
297
|
|
|
145
298
|
**Full Helm docs:** [helm/README.md](./helm/README.md)
|
|
146
299
|
|
|
300
|
+
### Test your gateway
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
# OpenAI format
|
|
304
|
+
curl http://localhost:8080/v1/chat/completions \
|
|
305
|
+
-H "Content-Type: application/json" \
|
|
306
|
+
-H "Authorization: Bearer your-master-key" \
|
|
307
|
+
-d '{"model":"groq/llama-4-scout-17b-16e-instruct","messages":[{"role":"user","content":"Hello!"}]}'
|
|
308
|
+
|
|
309
|
+
# Anthropic format with streaming
|
|
310
|
+
curl http://localhost:8080/v1/messages \
|
|
311
|
+
-H "Content-Type: application/json" \
|
|
312
|
+
-H "Authorization: Bearer your-master-key" \
|
|
313
|
+
-H "anthropic-version: 2023-06-01" \
|
|
314
|
+
-d '{
|
|
315
|
+
"model": "anthropic/claude-sonnet-5-20260630",
|
|
316
|
+
"max_tokens": 1024,
|
|
317
|
+
"stream": true,
|
|
318
|
+
"messages": [{"role": "user", "content": "Hello!"}]
|
|
319
|
+
}'
|
|
320
|
+
|
|
321
|
+
# Embeddings
|
|
322
|
+
curl http://localhost:8080/v1/embeddings \
|
|
323
|
+
-H "Content-Type: application/json" \
|
|
324
|
+
-H "Authorization: Bearer your-master-key" \
|
|
325
|
+
-d '{"model":"openai/text-embedding-3-small","input":"Hello world"}'
|
|
326
|
+
|
|
327
|
+
# Reranking (Jina)
|
|
328
|
+
curl http://localhost:8080/v1/rerank \
|
|
329
|
+
-H "Content-Type: application/json" \
|
|
330
|
+
-H "Authorization: Bearer your-master-key" \
|
|
331
|
+
-d '{"model":"jina/jina-reranker-v2-base-multilingual","query":"test","documents":["doc1","doc2"]}'
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
Dashboard: `http://localhost:8080/admin/dashboard`
|
|
335
|
+
|
|
336
|
+
**Docs:** [aurorallm.online/docs](https://aurorallm.online/docs) · [Website](https://aurorallm.online) · [npm](https://www.npmjs.com/package/iaurora) · [Docker](https://hub.docker.com/r/aurorahq/aurora) · [GitHub](https://github.com/aurorallm/aurora)
|
|
337
|
+
|
|
147
338
|
---
|
|
148
339
|
|
|
149
340
|
## Providers
|
|
150
341
|
|
|
151
342
|
Providers are **auto-discovered from environment variables**. Set any provider's `_API_KEY` and restart — the provider and its default models appear automatically.
|
|
152
343
|
|
|
153
|
-
> **Security note
|
|
154
|
-
|
|
155
|
-
### All supported providers
|
|
344
|
+
> **Security note:** The env var names below are documentation references. Actual secrets go into your **`.env` file** (in `.gitignore`) or your **deployment secrets manager** — never commit them.
|
|
156
345
|
|
|
157
346
|
| Provider | Env var | Default base URL | Requires base URL | API key required | Default models |
|
|
158
347
|
|----------|---------|-----------------|-------------------|-----------------|----------------|
|
|
159
|
-
| OpenAI | `OPENAI_API_KEY` | `https://api.openai.com/v1` | No | Yes | `gpt-
|
|
160
|
-
| Anthropic | `ANTHROPIC_API_KEY` | `https://api.anthropic.com/v1` | No | Yes | `claude-sonnet-
|
|
161
|
-
| Google Gemini | `GEMINI_API_KEY` | `https://generativelanguage.googleapis.com/v1beta/openai` | No | Yes | `gemini-
|
|
162
|
-
| Groq | `GROQ_API_KEY` | `https://api.groq.com/openai/v1` | No | Yes | `llama-
|
|
163
|
-
| DeepSeek | `DEEPSEEK_API_KEY` | `https://api.deepseek.com` | No | Yes | `deepseek-
|
|
348
|
+
| OpenAI | `OPENAI_API_KEY` | `https://api.openai.com/v1` | No | Yes | `gpt-5.6-sol`, `gpt-5.6-luna` |
|
|
349
|
+
| Anthropic | `ANTHROPIC_API_KEY` | `https://api.anthropic.com/v1` | No | Yes | `claude-sonnet-5`, `claude-fable-5` |
|
|
350
|
+
| Google Gemini | `GEMINI_API_KEY` | `https://generativelanguage.googleapis.com/v1beta/openai` | No | Yes | `gemini-3.1-pro`, `gemini-3.5-flash` |
|
|
351
|
+
| Groq | `GROQ_API_KEY` | `https://api.groq.com/openai/v1` | No | Yes | `llama-4-scout-17b`, `llama-4-maverick-17b`, `qwen3-32b` |
|
|
352
|
+
| DeepSeek | `DEEPSEEK_API_KEY` | `https://api.deepseek.com` | No | Yes | `deepseek-v4-pro`, `deepseek-v4-flash` |
|
|
164
353
|
| OpenRouter | `OPENROUTER_API_KEY` | `https://openrouter.ai/api/v1` | No | Yes | 300+ models |
|
|
165
|
-
| xAI (Grok) | `XAI_API_KEY` | `https://api.x.ai/v1` | No | Yes | `grok-
|
|
166
|
-
| Z.ai | `ZAI_API_KEY` | `https://api.z.ai/api/paas/v4` | No | Yes | `glm-
|
|
167
|
-
| MiniMax | `MINIMAX_API_KEY` | `https://api.minimax.io/v1` | No | Yes | `minimax-
|
|
354
|
+
| xAI (Grok) | `XAI_API_KEY` | `https://api.x.ai/v1` | No | Yes | `grok-4.5`, `grok-4.3` |
|
|
355
|
+
| Z.ai | `ZAI_API_KEY` | `https://api.z.ai/api/paas/v4` | No | Yes | `glm-5.2` |
|
|
356
|
+
| MiniMax | `MINIMAX_API_KEY` | `https://api.minimax.io/v1` | No | Yes | `minimax-m3` |
|
|
168
357
|
| Azure OpenAI | `AZURE_API_KEY` | — | **Yes** | Yes | Your deployments |
|
|
169
358
|
| Oracle | `ORACLE_API_KEY` | — | **Yes** | Yes | `cohere.command-r-plus` |
|
|
170
359
|
| Ollama | `OLLAMA_API_KEY` | `http://localhost:11434/v1` | No | **No** (optional) | Any local model |
|
|
171
360
|
| vLLM | `VLLM_API_KEY` | `http://localhost:8000/v1` | No | **No** (optional) | Any served model |
|
|
172
361
|
| Jina (reranker) | `JINA_API_KEY` | — | **Yes** | Yes | `jina-embeddings-v3` |
|
|
173
362
|
|
|
174
|
-
### Per-provider
|
|
363
|
+
### Per-provider configuration
|
|
175
364
|
|
|
176
365
|
Every provider supports `*_MODELS` to override auto-discovered models:
|
|
177
366
|
|
|
178
367
|
```env
|
|
179
|
-
OPENAI_MODELS=gpt-
|
|
368
|
+
OPENAI_MODELS=gpt-5.6-sol,gpt-5.6-terra,gpt-5.6-luna
|
|
180
369
|
```
|
|
181
370
|
|
|
182
|
-
|
|
371
|
+
Custom base URL:
|
|
183
372
|
|
|
184
373
|
```env
|
|
185
|
-
|
|
186
|
-
OPENROUTER_APP_NAME=Aurora Gateway
|
|
374
|
+
OPENAI_BASE_URL=https://my-corp-openai-proxy.example.com/v1
|
|
187
375
|
```
|
|
188
376
|
|
|
189
|
-
|
|
377
|
+
Multiple instances of the same provider (underscores become hyphens in the provider name):
|
|
190
378
|
|
|
191
379
|
```env
|
|
192
|
-
|
|
380
|
+
OPENAI_EAST_API_KEY=sk-... # → provider: openai-east
|
|
381
|
+
OPENAI_WEST_API_KEY=sk-... # → provider: openai-west
|
|
193
382
|
```
|
|
194
383
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
Override any provider's endpoint:
|
|
384
|
+
Azure requires API version:
|
|
198
385
|
|
|
199
386
|
```env
|
|
200
|
-
|
|
387
|
+
AZURE_API_VERSION=2024-10-21
|
|
201
388
|
```
|
|
202
389
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
Use suffix notation (underscores become hyphens in the provider name):
|
|
390
|
+
OpenRouter extras:
|
|
206
391
|
|
|
207
392
|
```env
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
JINA_API_KEY1=... # → provider: jina-1
|
|
393
|
+
OPENROUTER_SITE_URL=https://github.com/aurorallm/aurora
|
|
394
|
+
OPENROUTER_APP_NAME=Aurora Gateway
|
|
211
395
|
```
|
|
212
396
|
|
|
213
397
|
---
|
|
214
398
|
|
|
399
|
+
---
|
|
400
|
+
|
|
215
401
|
## Configuration
|
|
216
402
|
|
|
217
403
|
The gateway loads settings in this priority order (later wins):
|
|
@@ -237,54 +423,33 @@ Generated by `aurora init`, every section of `config.yaml` is documented inline:
|
|
|
237
423
|
| `token_saver` | Output compression |
|
|
238
424
|
| `fallback` | Provider failover rules |
|
|
239
425
|
| `resilience` | Retry + circuit breaker |
|
|
426
|
+
| `workflows` | Policy-based request routing |
|
|
240
427
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
### Essential `.env` variables
|
|
244
|
-
|
|
245
|
-
Minimal set to get the gateway running:
|
|
428
|
+
### Config profiles
|
|
246
429
|
|
|
247
|
-
|
|
248
|
-
# ── REQUIRED ──────────────────────────────────────────────
|
|
249
|
-
AURORA_MASTER_KEY=replace-with-secure-random-key
|
|
430
|
+
Pre-built configs in `configs/editions/`:
|
|
250
431
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
432
|
+
| Profile | File | Use case |
|
|
433
|
+
|---------|------|----------|
|
|
434
|
+
| OSS | `oss.env.example` | Minimal local — SQLite, no Redis |
|
|
435
|
+
| OSS Local Power | `oss.local-power.env.example` | SQLite + Redis exact cache |
|
|
436
|
+
| OSS Team | `oss.team.env.example` | Postgres + Redis + Qdrant — full team deployment |
|
|
254
437
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
STORAGE_TYPE=sqlite # sqlite (default), postgresql, mongodb
|
|
258
|
-
LOG_LEVEL=info # debug, info, warn, error
|
|
259
|
-
LOG_FORMAT=text # text or json
|
|
438
|
+
```bash
|
|
439
|
+
export AURORA_CONFIG_PATH=configs/editions/oss.team.example.yaml
|
|
260
440
|
```
|
|
261
441
|
|
|
262
|
-
### Configuring the same variable across all deployment methods
|
|
263
|
-
|
|
264
|
-
Each env var below works in all three deploy modes — here is an example:
|
|
265
|
-
|
|
266
|
-
| Variable | `.env` file | Docker `-e` flag | Helm `--set` value |
|
|
267
|
-
|----------|-------------|------------------|---------------------|
|
|
268
|
-
| `PORT` | `PORT=9090` | `-e PORT=9090` | `--set server.port=9090` |
|
|
269
|
-
| `AURORA_MASTER_KEY` | `AURORA_MASTER_KEY=...` | `-e AURORA_MASTER_KEY=...` | `--set auth.masterKey=...` |
|
|
270
|
-
| `OPENAI_API_KEY` | `OPENAI_API_KEY=sk-...` | `-e OPENAI_API_KEY=sk-...` | `--set providers.openai.apiKey=...` |
|
|
271
|
-
| `STORAGE_TYPE` | `STORAGE_TYPE=postgresql` | `-e STORAGE_TYPE=postgresql` | `--set storage.type=postgresql` |
|
|
272
|
-
| `REDIS_URL` | `REDIS_URL=redis://...` | `-e REDIS_URL=redis://...` | `--set cache.redis.url=...` |
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
442
|
### Complete env var reference
|
|
277
443
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
#### Server & Security
|
|
444
|
+
<details>
|
|
445
|
+
<summary>Server & Security</summary>
|
|
281
446
|
|
|
282
447
|
| Env var | Default | Description |
|
|
283
448
|
|---------|---------|-------------|
|
|
284
449
|
| `PORT` | `8080` | HTTP listening port |
|
|
285
450
|
| `BASE_PATH` | `/` | URL path prefix to mount under |
|
|
286
451
|
| `AURORA_MASTER_KEY` | `""` | Master API key for auth |
|
|
287
|
-
| `BODY_SIZE_LIMIT` | `10M` | Max request body size
|
|
452
|
+
| `BODY_SIZE_LIMIT` | `10M` | Max request body size |
|
|
288
453
|
| `SWAGGER_ENABLED` | `false` | Enable Swagger UI at `/swagger/index.html` |
|
|
289
454
|
| `PPROF_ENABLED` | `false` | Enable pprof at `/debug/pprof/` |
|
|
290
455
|
| `ENABLE_PASSTHROUGH_ROUTES` | `true` | Provider-native passthrough at `/p/{provider}` |
|
|
@@ -294,18 +459,22 @@ All configurable environment variables, organized by subsystem:
|
|
|
294
459
|
| `DISABLE_REQUEST_LOGGING` | `false` | Turn off request logging |
|
|
295
460
|
| `DISABLE_REQUEST_BODY_SNAPSHOT` | `false` | Don't snapshot request bodies |
|
|
296
461
|
| `DISABLE_PASSTHROUGH_SEMANTIC_ENRICHMENT` | `false` | Disable semantic enrichment on passthrough |
|
|
462
|
+
</details>
|
|
297
463
|
|
|
298
|
-
|
|
464
|
+
<details>
|
|
465
|
+
<summary>HTTP Client & Proxy</summary>
|
|
299
466
|
|
|
300
467
|
| Env var | Default | Description |
|
|
301
468
|
|---------|---------|-------------|
|
|
302
469
|
| `HTTP_TIMEOUT` | `600` | Upstream request timeout (seconds) |
|
|
303
|
-
| `HTTP_RESPONSE_HEADER_TIMEOUT` | `600` | Timeout for upstream response headers
|
|
470
|
+
| `HTTP_RESPONSE_HEADER_TIMEOUT` | `600` | Timeout for upstream response headers |
|
|
304
471
|
| `HTTP_PROXY` | — | HTTP proxy URL for upstream calls |
|
|
305
472
|
| `HTTPS_PROXY` | — | HTTPS proxy URL |
|
|
306
473
|
| `NO_PROXY` | — | Hosts to exclude from proxy |
|
|
474
|
+
</details>
|
|
307
475
|
|
|
308
|
-
|
|
476
|
+
<details>
|
|
477
|
+
<summary>Storage</summary>
|
|
309
478
|
|
|
310
479
|
| Env var | Default | Description |
|
|
311
480
|
|---------|---------|-------------|
|
|
@@ -315,20 +484,24 @@ All configurable environment variables, organized by subsystem:
|
|
|
315
484
|
| `POSTGRES_MAX_CONNS` | `10` | PostgreSQL connection pool max |
|
|
316
485
|
| `MONGODB_URL` | — | MongoDB connection string |
|
|
317
486
|
| `MONGODB_DATABASE` | `aurora` | MongoDB database name |
|
|
487
|
+
</details>
|
|
318
488
|
|
|
319
|
-
|
|
489
|
+
<details>
|
|
490
|
+
<summary>Model Registry</summary>
|
|
320
491
|
|
|
321
492
|
| Env var | Default | Description |
|
|
322
493
|
|---------|---------|-------------|
|
|
323
|
-
| `MODEL_LIST_URL` | `https://
|
|
494
|
+
| `MODEL_LIST_URL` | `https://github.com/aurorallm/aurora/blob/main/docs-assets/assets/models.json` | External model metadata registry |
|
|
324
495
|
| `MODEL_LIST_LOCAL_PATH` | `data/models.local.json` | Local model registry snapshot path |
|
|
325
496
|
| `MODEL_LIST_USER_OVERRIDES_PATH` | `data/user_pricing.yaml` | User pricing override file |
|
|
326
497
|
| `MODELS_ENABLED_BY_DEFAULT` | `true` | Default enabled state for provider models |
|
|
327
|
-
| `MODEL_OVERRIDES_ENABLED` | `true` | Allow per-model overrides
|
|
328
|
-
| `KEEP_ONLY_ALIASES_AT_MODELS_ENDPOINT` | `false` | Hide provider models
|
|
329
|
-
| `CONFIGURED_PROVIDER_MODELS_MODE` | `fallback` | `fallback` or `allowlist`
|
|
498
|
+
| `MODEL_OVERRIDES_ENABLED` | `true` | Allow per-model overrides |
|
|
499
|
+
| `KEEP_ONLY_ALIASES_AT_MODELS_ENDPOINT` | `false` | Hide provider models, show only aliases |
|
|
500
|
+
| `CONFIGURED_PROVIDER_MODELS_MODE` | `fallback` | `fallback` or `allowlist` |
|
|
501
|
+
</details>
|
|
330
502
|
|
|
331
|
-
|
|
503
|
+
<details>
|
|
504
|
+
<summary>Caching</summary>
|
|
332
505
|
|
|
333
506
|
**Model cache:**
|
|
334
507
|
|
|
@@ -354,7 +527,7 @@ All configurable environment variables, organized by subsystem:
|
|
|
354
527
|
|---------|---------|-------------|
|
|
355
528
|
| `SEMANTIC_CACHE_ENABLED` | `false` | Enable semantic cache |
|
|
356
529
|
| `SEMANTIC_CACHE_THRESHOLD` | `0.92` | Similarity threshold (0-1) |
|
|
357
|
-
| `SEMANTIC_CACHE_PROMPT_SIMILARITY` | `0.90` | Prompt similarity threshold
|
|
530
|
+
| `SEMANTIC_CACHE_PROMPT_SIMILARITY` | `0.90` | Prompt similarity threshold |
|
|
358
531
|
| `SEMANTIC_CACHE_TTL` | `3600` | Entry TTL (seconds) |
|
|
359
532
|
| `SEMANTIC_CACHE_MAX_CONV_MESSAGES` | `3` | Recent conversation messages to embed |
|
|
360
533
|
| `SEMANTIC_CACHE_EXCLUDE_SYSTEM_PROMPT` | `false` | Exclude system prompt from cache key |
|
|
@@ -374,20 +547,24 @@ All configurable environment variables, organized by subsystem:
|
|
|
374
547
|
| `SEMANTIC_CACHE_WEAVIATE_URL` | — | Weaviate URL |
|
|
375
548
|
| `SEMANTIC_CACHE_WEAVIATE_CLASS` | `AuroraSemanticCache` | Weaviate class name |
|
|
376
549
|
| `SEMANTIC_CACHE_WEAVIATE_API_KEY` | — | Weaviate API key |
|
|
550
|
+
</details>
|
|
377
551
|
|
|
378
|
-
|
|
552
|
+
<details>
|
|
553
|
+
<summary>Audit Logging</summary>
|
|
379
554
|
|
|
380
555
|
| Env var | Default | Description |
|
|
381
556
|
|---------|---------|-------------|
|
|
382
557
|
| `LOGGING_ENABLED` | `false` | Enable audit log to storage |
|
|
383
|
-
| `LOGGING_LOG_BODIES` | `true` | Log request/response bodies
|
|
558
|
+
| `LOGGING_LOG_BODIES` | `true` | Log request/response bodies |
|
|
384
559
|
| `LOGGING_LOG_HEADERS` | `true` | Log headers (sensitive headers redacted) |
|
|
385
560
|
| `LOGGING_ONLY_MODEL_INTERACTIONS` | `true` | Skip health/metrics/admin endpoints |
|
|
386
561
|
| `LOGGING_BUFFER_SIZE` | `1000` | In-memory queue capacity |
|
|
387
562
|
| `LOGGING_FLUSH_INTERVAL` | `5` | Flush interval (seconds) |
|
|
388
563
|
| `LOGGING_RETENTION_DAYS` | `30` | Auto-delete after N days (0 = forever) |
|
|
564
|
+
</details>
|
|
389
565
|
|
|
390
|
-
|
|
566
|
+
<details>
|
|
567
|
+
<summary>Usage Tracking</summary>
|
|
391
568
|
|
|
392
569
|
| Env var | Default | Description |
|
|
393
570
|
|---------|---------|-------------|
|
|
@@ -397,30 +574,36 @@ All configurable environment variables, organized by subsystem:
|
|
|
397
574
|
| `USAGE_BUFFER_SIZE` | `1000` | In-memory queue capacity |
|
|
398
575
|
| `USAGE_FLUSH_INTERVAL` | `5` | Flush interval (seconds) |
|
|
399
576
|
| `USAGE_RETENTION_DAYS` | `90` | Auto-delete after N days (0 = forever) |
|
|
577
|
+
</details>
|
|
400
578
|
|
|
401
|
-
|
|
579
|
+
<details>
|
|
580
|
+
<summary>Guardrails</summary>
|
|
402
581
|
|
|
403
582
|
| Env var | Default | Description |
|
|
404
583
|
|---------|---------|-------------|
|
|
405
584
|
| `GUARDRAILS_ENABLED` | `false` | Enable content safety filters globally |
|
|
406
585
|
| `ENABLE_GUARDRAILS_FOR_BATCH_PROCESSING` | `false` | Apply guardrails to `/v1/batches` items |
|
|
586
|
+
</details>
|
|
407
587
|
|
|
408
|
-
|
|
588
|
+
<details>
|
|
589
|
+
<summary>Metrics</summary>
|
|
409
590
|
|
|
410
591
|
| Env var | Default | Description |
|
|
411
592
|
|---------|---------|-------------|
|
|
412
593
|
| `METRICS_ENABLED` | `false` | Enable Prometheus `/metrics` endpoint |
|
|
413
594
|
| `METRICS_ENDPOINT` | `/metrics` | Metrics endpoint path |
|
|
595
|
+
</details>
|
|
414
596
|
|
|
415
|
-
|
|
597
|
+
<details>
|
|
598
|
+
<summary>Token Saver</summary>
|
|
416
599
|
|
|
417
600
|
| Env var | Default | Description |
|
|
418
601
|
|---------|---------|-------------|
|
|
419
|
-
| `TOKEN_SAVER_ENABLED` | `false` | Enable
|
|
602
|
+
| `TOKEN_SAVER_ENABLED` | `false` | Enable output compression |
|
|
420
603
|
| `TOKEN_SAVER_ENDPOINTS` | `chat_completions` | Endpoints to apply it to |
|
|
421
604
|
| `TOKEN_SAVER_APPLY_STREAMING` | `true` | Apply to streaming responses |
|
|
422
605
|
| `TOKEN_SAVER_OUTPUT_ENABLED` | `false` | Enable output style/profile |
|
|
423
|
-
| `TOKEN_SAVER_OUTPUT_PROFILE` | `concise` |
|
|
606
|
+
| `TOKEN_SAVER_OUTPUT_PROFILE` | `concise` | Profile: `concise`, `caveman`, `ultra`, `wenyan` |
|
|
424
607
|
| `TOKEN_SAVER_MODELS_INCLUDE` | — | Models to include (comma-separated) |
|
|
425
608
|
| `TOKEN_SAVER_MODELS_EXCLUDE` | — | Models to exclude |
|
|
426
609
|
| `TOKEN_SAVER_PROVIDERS_INCLUDE` | — | Providers to include |
|
|
@@ -428,8 +611,10 @@ All configurable environment variables, organized by subsystem:
|
|
|
428
611
|
| `TOKEN_SAVER_ON_ERROR` | `allow` | Behavior on error: `allow` or `block` |
|
|
429
612
|
| `TOKEN_SAVER_EMIT_HEADERS` | `true` | Emit token-saver headers in response |
|
|
430
613
|
| `TOKEN_SAVER_AUDIT_ENABLED` | `true` | Log token-saver actions |
|
|
614
|
+
</details>
|
|
431
615
|
|
|
432
|
-
|
|
616
|
+
<details>
|
|
617
|
+
<summary>Resilience</summary>
|
|
433
618
|
|
|
434
619
|
| Env var | Default | Description |
|
|
435
620
|
|---------|---------|-------------|
|
|
@@ -441,15 +626,19 @@ All configurable environment variables, organized by subsystem:
|
|
|
441
626
|
| `CIRCUIT_BREAKER_FAILURE_THRESHOLD` | `5` | Failures before circuit opens |
|
|
442
627
|
| `CIRCUIT_BREAKER_SUCCESS_THRESHOLD` | `2` | Successes before circuit closes |
|
|
443
628
|
| `CIRCUIT_BREAKER_TIMEOUT` | `30s` | Time before half-open retry |
|
|
629
|
+
</details>
|
|
444
630
|
|
|
445
|
-
|
|
631
|
+
<details>
|
|
632
|
+
<summary>Fallback</summary>
|
|
446
633
|
|
|
447
634
|
| Env var | Default | Description |
|
|
448
635
|
|---------|---------|-------------|
|
|
449
636
|
| `FEATURE_FALLBACK_MODE` | `manual` | Fallback mode: `auto`, `manual`, or `off` |
|
|
450
637
|
| `FALLBACK_MANUAL_RULES_PATH` | — | Path to manual fallback rules JSON |
|
|
638
|
+
</details>
|
|
451
639
|
|
|
452
|
-
|
|
640
|
+
<details>
|
|
641
|
+
<summary>Admin & Features</summary>
|
|
453
642
|
|
|
454
643
|
| Env var | Default | Description |
|
|
455
644
|
|---------|---------|-------------|
|
|
@@ -460,47 +649,34 @@ All configurable environment variables, organized by subsystem:
|
|
|
460
649
|
| `CLI_TOOLS_APPLY_ENABLED` | `false` | Allow admin/API to apply tool changes |
|
|
461
650
|
| `WORKFLOW_REFRESH_INTERVAL` | `1m` | Workflow refresh interval from storage |
|
|
462
651
|
| `EDITION` | — | Edition identifier (Enterprise use) |
|
|
652
|
+
</details>
|
|
463
653
|
|
|
464
|
-
|
|
654
|
+
<details>
|
|
655
|
+
<summary>Config file path</summary>
|
|
465
656
|
|
|
466
657
|
| Env var | Default | Description |
|
|
467
658
|
|---------|---------|-------------|
|
|
468
659
|
| `AURORA_CONFIG_PATH` | `configs/config.yaml` | Override path to config YAML |
|
|
469
|
-
|
|
470
|
-
---
|
|
471
|
-
|
|
472
|
-
### Quick config profiles
|
|
473
|
-
|
|
474
|
-
Aurora ships pre-built config profiles in `configs/editions/`:
|
|
475
|
-
|
|
476
|
-
| Profile | File | Use case |
|
|
477
|
-
|---------|------|----------|
|
|
478
|
-
| OSS | `oss.env.example` | Minimal local — SQLite, no Redis |
|
|
479
|
-
| OSS Local Power | `oss.local-power.env.example` | SQLite + Redis exact cache |
|
|
480
|
-
| OSS Team | `oss.team.env.example` | Postgres + Redis + Qdrant — full team deployment |
|
|
481
|
-
|
|
482
|
-
```bash
|
|
483
|
-
export AURORA_CONFIG_PATH=configs/editions/oss.team.example.yaml
|
|
484
|
-
```
|
|
660
|
+
</details>
|
|
485
661
|
|
|
486
662
|
---
|
|
487
663
|
|
|
488
664
|
## CLI Reference
|
|
489
665
|
|
|
490
|
-
|
|
666
|
+
Installed via `npm install -g iaurora`.
|
|
491
667
|
|
|
492
668
|
| Command | Description |
|
|
493
669
|
|---------|-------------|
|
|
494
|
-
| `aurora
|
|
495
|
-
| `aurora` |
|
|
496
|
-
| `aurora
|
|
497
|
-
|
|
498
|
-
`aurora
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
670
|
+
| `aurora` | Start the gateway server (default port 8080) |
|
|
671
|
+
| `aurora init` | Scaffold `config.yaml`, `.env`, `data/` in current directory |
|
|
672
|
+
| `aurora update` | Self-update via `npm install -g iaurora@latest` |
|
|
673
|
+
| `aurora uninstall` | Remove via `npm uninstall -g iaurora` |
|
|
674
|
+
| `aurora models sync` | Download upstream model registry to local file |
|
|
675
|
+
| `aurora models diff` | Show pricing diff between upstream and local snapshot |
|
|
676
|
+
| `aurora models show` | Print effective pricing for a model after merging overrides |
|
|
677
|
+
| `aurora -version` | Print version information |
|
|
678
|
+
| `aurora -help` | Show all CLI options and config reference |
|
|
679
|
+
| `aurora -help-json` | Dump env var schema as JSON |
|
|
504
680
|
|
|
505
681
|
---
|
|
506
682
|
|
|
@@ -508,36 +684,53 @@ The gateway merges `config.yaml` + `.env`/env vars at startup. Use `config.yaml`
|
|
|
508
684
|
|
|
509
685
|
```text
|
|
510
686
|
aurora/
|
|
511
|
-
├── apps/
|
|
512
|
-
|
|
513
|
-
├──
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
├── configs/ # Configuration profiles and examples
|
|
523
|
-
├── docs/ # Documentation and assets
|
|
524
|
-
├── scripts/ # Build and release scripts
|
|
525
|
-
├── test/ # Test suites
|
|
526
|
-
└── helm/ # Kubernetes Helm charts
|
|
687
|
+
├── apps/ # Application entrypoints
|
|
688
|
+
├── internal/ # Core packages (providers, gateway, storage, guardrails, etc.)
|
|
689
|
+
├── dashboard-ui/ # React admin dashboard (Vite)
|
|
690
|
+
├── configs/ # Configuration profiles and examples
|
|
691
|
+
├── docs-assets/ # Images, models.json, assets
|
|
692
|
+
├── helm/ # Kubernetes Helm charts
|
|
693
|
+
├── monitoring/ # Prometheus + Grafana configs
|
|
694
|
+
├── npm/ # npm CLI wrapper
|
|
695
|
+
├── bench-results/ # Benchmark data
|
|
696
|
+
├── release/ # Release scripts
|
|
697
|
+
└── scripts/ # Build and utility scripts
|
|
527
698
|
```
|
|
528
699
|
|
|
529
700
|
---
|
|
530
701
|
|
|
702
|
+
## Enterprise Deployments
|
|
703
|
+
|
|
704
|
+
Aurora supports enterprise-grade deployments for teams running production AI systems at scale.
|
|
705
|
+
In addition to private networking, custom security controls, and governance, **Aurora Enterprise** unlocks advanced capabilities including SSO, RBAC, tenant isolation, budget enforcement, compliance workflows, and production support.
|
|
706
|
+
|
|
707
|
+
The Enterprise edition is a separate distribution with a signed license.
|
|
708
|
+
|
|
709
|
+
<a href="https://raw.githubusercontent.com/aurorallm/aurora/main/docs-assets/assets/comparison.png">
|
|
710
|
+
<img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs-assets/assets/comparison.png" alt="OSS vs Enterprise comparison" width="100%" style="border-radius:12px;margin:16px 0;">
|
|
711
|
+
</a>
|
|
712
|
+
|
|
713
|
+
<div align="center">
|
|
714
|
+
<a href="mailto:team.auroragate@gmail.com?subject=Aurora%20Enterprise%20Inquiry" style="display:block;margin-top:5px;">
|
|
715
|
+
<img src="https://img.shields.io/badge/Email%20Us-Enterprise-5865F2?style=for-the-badge&logo=gmail&logoColor=white" alt="Email Aurora Enterprise" width="200"/>
|
|
716
|
+
</a>
|
|
717
|
+
</div>
|
|
718
|
+
|
|
719
|
+
---
|
|
720
|
+
|
|
531
721
|
## Documentation
|
|
532
722
|
|
|
533
|
-
- [
|
|
534
|
-
- [
|
|
535
|
-
- [
|
|
536
|
-
- [
|
|
723
|
+
- [aurorallm.online/docs](https://aurorallm.online/docs) — full documentation
|
|
724
|
+
- [aurorallm.online/docs/getting-started/quickstart](https://aurorallm.online/docs/getting-started/quickstart) — quickstart guide
|
|
725
|
+
- [aurorallm.online/docs/guides](https://aurorallm.online/docs/guides) — provider and integration guides
|
|
726
|
+
- [aurorallm.online/docs/api/overview](https://aurorallm.online/docs/api/overview) — API reference
|
|
727
|
+
- [aurorallm.online/benchmarks](https://aurorallm.online/benchmarks) — performance benchmarks
|
|
728
|
+
|
|
729
|
+
---
|
|
537
730
|
|
|
538
731
|
## Need Help?
|
|
539
732
|
|
|
540
|
-
[Join our Discord](https://discord.
|
|
733
|
+
[Join our Discord](https://discord.gg/AfaFBSU2km) for community support, setup help, and discussions.
|
|
541
734
|
|
|
542
735
|
---
|
|
543
736
|
|
|
@@ -556,4 +749,4 @@ We welcome contributions of all kinds! Check out the repository to get started:
|
|
|
556
749
|
|
|
557
750
|
This project is licensed under the Apache 2.0 License — see the [LICENSE](LICENSE) file for details.
|
|
558
751
|
|
|
559
|
-
Built
|
|
752
|
+
Built by the Aurora team.
|
package/bin/aurora.exe
CHANGED
|
Binary file
|
package/package.json
CHANGED