iaurora 1.0.31 → 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/README.md +228 -143
- package/bin/aurora.exe +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,28 +2,103 @@
|
|
|
2
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
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
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
|
-
|
|
16
14
|
</p>
|
|
17
|
-
<p align="center"><b>Open-source LLM gateway (OSS edition). One API for every AI provider.</b></p>
|
|
18
15
|
|
|
19
|
-
<p align="center">Self-hosted. No vendor lock-in
|
|
16
|
+
<p align="center"><b>One API for every AI provider. Self-hosted. No vendor lock-in.</b></p>
|
|
17
|
+
|
|
18
|
+
<p align="center">14 provider types • OpenAI & Anthropic compatible • Built in Go • Apache 2.0</p>
|
|
20
19
|
|
|
21
20
|
<a href="https://raw.githubusercontent.com/aurorallm/aurora/main/docs-assets/assets/dashboard-overview.png">
|
|
22
|
-
<img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs-assets/assets/dashboard-overview.png" alt="Aurora
|
|
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
104
|
Start routing AI traffic in 60 seconds.
|
|
@@ -79,8 +154,10 @@ aurora
|
|
|
79
154
|
|
|
80
155
|
### Option B — inline env vars (no `.env` needed)
|
|
81
156
|
|
|
157
|
+
<details>
|
|
158
|
+
<summary>Linux / macOS</summary>
|
|
159
|
+
|
|
82
160
|
```bash
|
|
83
|
-
# Linux / macOS
|
|
84
161
|
AURORA_MASTER_KEY=your-secure-key \
|
|
85
162
|
OPENAI_API_KEY=sk-... \
|
|
86
163
|
ANTHROPIC_API_KEY=sk-ant-... \
|
|
@@ -101,8 +178,13 @@ AURORA_MASTER_KEY=your-secure-key \
|
|
|
101
178
|
GUARDRAILS_ENABLED=true \
|
|
102
179
|
TOKEN_SAVER_ENABLED=true \
|
|
103
180
|
aurora
|
|
181
|
+
```
|
|
182
|
+
</details>
|
|
104
183
|
|
|
105
|
-
|
|
184
|
+
<details>
|
|
185
|
+
<summary>Windows PowerShell</summary>
|
|
186
|
+
|
|
187
|
+
```powershell
|
|
106
188
|
$env:AURORA_MASTER_KEY="your-secure-key"; `
|
|
107
189
|
$env:OPENAI_API_KEY="sk-..."; `
|
|
108
190
|
$env:ANTHROPIC_API_KEY="sk-ant-..."; `
|
|
@@ -123,8 +205,13 @@ $env:METRICS_ENABLED="true"; `
|
|
|
123
205
|
$env:GUARDRAILS_ENABLED="true"; `
|
|
124
206
|
$env:TOKEN_SAVER_ENABLED="true"; `
|
|
125
207
|
aurora
|
|
208
|
+
```
|
|
209
|
+
</details>
|
|
126
210
|
|
|
127
|
-
|
|
211
|
+
<details>
|
|
212
|
+
<summary>Windows CMD</summary>
|
|
213
|
+
|
|
214
|
+
```cmd
|
|
128
215
|
set AURORA_MASTER_KEY=your-secure-key ^
|
|
129
216
|
&& set OPENAI_API_KEY=sk-... ^
|
|
130
217
|
&& set ANTHROPIC_API_KEY=sk-ant-... ^
|
|
@@ -146,6 +233,7 @@ set AURORA_MASTER_KEY=your-secure-key ^
|
|
|
146
233
|
&& set TOKEN_SAVER_ENABLED=true ^
|
|
147
234
|
&& aurora
|
|
148
235
|
```
|
|
236
|
+
</details>
|
|
149
237
|
|
|
150
238
|
### Option C — Docker
|
|
151
239
|
|
|
@@ -204,26 +292,6 @@ helm upgrade --install aurora ./helm \
|
|
|
204
292
|
--set providers.groq.enabled=true \
|
|
205
293
|
--set providers.deepseek.apiKey="..." \
|
|
206
294
|
--set providers.deepseek.enabled=true \
|
|
207
|
-
--set providers.openrouter.apiKey="..." \
|
|
208
|
-
--set providers.openrouter.enabled=true \
|
|
209
|
-
--set providers.xai.apiKey="..." \
|
|
210
|
-
--set providers.xai.enabled=true \
|
|
211
|
-
--set providers.zai.apiKey="..." \
|
|
212
|
-
--set providers.zai.enabled=true \
|
|
213
|
-
--set providers.minimax.apiKey="..." \
|
|
214
|
-
--set providers.minimax.enabled=true \
|
|
215
|
-
--set providers.azure.apiKey="..." \
|
|
216
|
-
--set providers.azure.enabled=true \
|
|
217
|
-
--set providers.oracle.apiKey="..." \
|
|
218
|
-
--set providers.oracle.enabled=true \
|
|
219
|
-
--set providers.ollama.apiKey="..." \
|
|
220
|
-
--set providers.ollama.enabled=true \
|
|
221
|
-
--set providers.vllm.apiKey="..." \
|
|
222
|
-
--set providers.vllm.enabled=true \
|
|
223
|
-
--set logging.enabled=true \
|
|
224
|
-
--set metrics.enabled=true \
|
|
225
|
-
--set guardrails.enabled=true \
|
|
226
|
-
--set tokenSaver.enabled=true \
|
|
227
295
|
--set redis.enabled=true
|
|
228
296
|
```
|
|
229
297
|
|
|
@@ -232,15 +300,13 @@ helm upgrade --install aurora ./helm \
|
|
|
232
300
|
### Test your gateway
|
|
233
301
|
|
|
234
302
|
```bash
|
|
303
|
+
# OpenAI format
|
|
235
304
|
curl http://localhost:8080/v1/chat/completions \
|
|
236
305
|
-H "Content-Type: application/json" \
|
|
237
306
|
-H "Authorization: Bearer your-master-key" \
|
|
238
307
|
-d '{"model":"groq/llama-4-scout-17b-16e-instruct","messages":[{"role":"user","content":"Hello!"}]}'
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
Anthropic format with streaming enabled:
|
|
242
308
|
|
|
243
|
-
|
|
309
|
+
# Anthropic format with streaming
|
|
244
310
|
curl http://localhost:8080/v1/messages \
|
|
245
311
|
-H "Content-Type: application/json" \
|
|
246
312
|
-H "Authorization: Bearer your-master-key" \
|
|
@@ -251,30 +317,23 @@ curl http://localhost:8080/v1/messages \
|
|
|
251
317
|
"stream": true,
|
|
252
318
|
"messages": [{"role": "user", "content": "Hello!"}]
|
|
253
319
|
}'
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
Dashboard: `http://localhost:8080/admin/dashboard`
|
|
257
|
-
|
|
258
|
-
**Setup guides:** [Website](https://aurorallm.online/) · [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)
|
|
259
|
-
|
|
260
|
-
---
|
|
261
|
-
|
|
262
|
-
## Enterprise Deployments
|
|
263
320
|
|
|
264
|
-
|
|
265
|
-
|
|
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"}'
|
|
266
326
|
|
|
267
|
-
|
|
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
|
+
```
|
|
268
333
|
|
|
269
|
-
|
|
270
|
-
<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;">
|
|
271
|
-
</a>
|
|
334
|
+
Dashboard: `http://localhost:8080/admin/dashboard`
|
|
272
335
|
|
|
273
|
-
|
|
274
|
-
<a href="mailto:team.auroragate@gmail.com?subject=Aurora%20Enterprise%20Inquiry" style="display:block;margin-top:5px;">
|
|
275
|
-
<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"/>
|
|
276
|
-
</a>
|
|
277
|
-
</div>
|
|
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)
|
|
278
337
|
|
|
279
338
|
---
|
|
280
339
|
|
|
@@ -282,7 +341,7 @@ The Enterprise edition is a separate distribution with a signed license.
|
|
|
282
341
|
|
|
283
342
|
Providers are **auto-discovered from environment variables**. Set any provider's `_API_KEY` and restart — the provider and its default models appear automatically.
|
|
284
343
|
|
|
285
|
-
> **Security note
|
|
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.
|
|
286
345
|
|
|
287
346
|
| Provider | Env var | Default base URL | Requires base URL | API key required | Default models |
|
|
288
347
|
|----------|---------|-----------------|-------------------|-----------------|----------------|
|
|
@@ -301,7 +360,7 @@ Providers are **auto-discovered from environment variables**. Set any provider's
|
|
|
301
360
|
| vLLM | `VLLM_API_KEY` | `http://localhost:8000/v1` | No | **No** (optional) | Any served model |
|
|
302
361
|
| Jina (reranker) | `JINA_API_KEY` | — | **Yes** | Yes | `jina-embeddings-v3` |
|
|
303
362
|
|
|
304
|
-
### Per-provider
|
|
363
|
+
### Per-provider configuration
|
|
305
364
|
|
|
306
365
|
Every provider supports `*_MODELS` to override auto-discovered models:
|
|
307
366
|
|
|
@@ -309,39 +368,36 @@ Every provider supports `*_MODELS` to override auto-discovered models:
|
|
|
309
368
|
OPENAI_MODELS=gpt-5.6-sol,gpt-5.6-terra,gpt-5.6-luna
|
|
310
369
|
```
|
|
311
370
|
|
|
312
|
-
|
|
371
|
+
Custom base URL:
|
|
313
372
|
|
|
314
373
|
```env
|
|
315
|
-
|
|
316
|
-
OPENROUTER_APP_NAME=Aurora Gateway
|
|
374
|
+
OPENAI_BASE_URL=https://my-corp-openai-proxy.example.com/v1
|
|
317
375
|
```
|
|
318
376
|
|
|
319
|
-
|
|
377
|
+
Multiple instances of the same provider (underscores become hyphens in the provider name):
|
|
320
378
|
|
|
321
379
|
```env
|
|
322
|
-
|
|
380
|
+
OPENAI_EAST_API_KEY=sk-... # → provider: openai-east
|
|
381
|
+
OPENAI_WEST_API_KEY=sk-... # → provider: openai-west
|
|
323
382
|
```
|
|
324
383
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
Override any provider's endpoint:
|
|
384
|
+
Azure requires API version:
|
|
328
385
|
|
|
329
386
|
```env
|
|
330
|
-
|
|
387
|
+
AZURE_API_VERSION=2024-10-21
|
|
331
388
|
```
|
|
332
389
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
Use suffix notation (underscores become hyphens in the provider name):
|
|
390
|
+
OpenRouter extras:
|
|
336
391
|
|
|
337
392
|
```env
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
JINA_API_KEY1=... # → provider: jina-1
|
|
393
|
+
OPENROUTER_SITE_URL=https://github.com/aurorallm/aurora
|
|
394
|
+
OPENROUTER_APP_NAME=Aurora Gateway
|
|
341
395
|
```
|
|
342
396
|
|
|
343
397
|
---
|
|
344
398
|
|
|
399
|
+
---
|
|
400
|
+
|
|
345
401
|
## Configuration
|
|
346
402
|
|
|
347
403
|
The gateway loads settings in this priority order (later wins):
|
|
@@ -367,10 +423,11 @@ Generated by `aurora init`, every section of `config.yaml` is documented inline:
|
|
|
367
423
|
| `token_saver` | Output compression |
|
|
368
424
|
| `fallback` | Provider failover rules |
|
|
369
425
|
| `resilience` | Retry + circuit breaker |
|
|
426
|
+
| `workflows` | Policy-based request routing |
|
|
370
427
|
|
|
371
|
-
###
|
|
428
|
+
### Config profiles
|
|
372
429
|
|
|
373
|
-
|
|
430
|
+
Pre-built configs in `configs/editions/`:
|
|
374
431
|
|
|
375
432
|
| Profile | File | Use case |
|
|
376
433
|
|---------|------|----------|
|
|
@@ -382,30 +439,17 @@ Aurora ships pre-built config profiles in `configs/editions/`:
|
|
|
382
439
|
export AURORA_CONFIG_PATH=configs/editions/oss.team.example.yaml
|
|
383
440
|
```
|
|
384
441
|
|
|
385
|
-
### Configuring across deployment methods
|
|
386
|
-
|
|
387
|
-
Each env var works in all three deploy modes:
|
|
388
|
-
|
|
389
|
-
| Variable | `.env` file | Docker `-e` flag | Helm `--set` value |
|
|
390
|
-
|----------|-------------|------------------|---------------------|
|
|
391
|
-
| `PORT` | `PORT=9090` | `-e PORT=9090` | `--set server.port=9090` |
|
|
392
|
-
| `AURORA_MASTER_KEY` | `AURORA_MASTER_KEY=...` | `-e AURORA_MASTER_KEY=...` | `--set auth.masterKey=...` |
|
|
393
|
-
| `OPENAI_API_KEY` | `OPENAI_API_KEY=sk-...` | `-e OPENAI_API_KEY=sk-...` | `--set providers.openai.apiKey=...` |
|
|
394
|
-
| `STORAGE_TYPE` | `STORAGE_TYPE=postgresql` | `-e STORAGE_TYPE=postgresql` | `--set storage.type=postgresql` |
|
|
395
|
-
| `REDIS_URL` | `REDIS_URL=redis://...` | `-e REDIS_URL=redis://...` | `--set cache.redis.url=...` |
|
|
396
|
-
|
|
397
442
|
### Complete env var reference
|
|
398
443
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
#### Server & Security
|
|
444
|
+
<details>
|
|
445
|
+
<summary>Server & Security</summary>
|
|
402
446
|
|
|
403
447
|
| Env var | Default | Description |
|
|
404
448
|
|---------|---------|-------------|
|
|
405
449
|
| `PORT` | `8080` | HTTP listening port |
|
|
406
450
|
| `BASE_PATH` | `/` | URL path prefix to mount under |
|
|
407
451
|
| `AURORA_MASTER_KEY` | `""` | Master API key for auth |
|
|
408
|
-
| `BODY_SIZE_LIMIT` | `10M` | Max request body size
|
|
452
|
+
| `BODY_SIZE_LIMIT` | `10M` | Max request body size |
|
|
409
453
|
| `SWAGGER_ENABLED` | `false` | Enable Swagger UI at `/swagger/index.html` |
|
|
410
454
|
| `PPROF_ENABLED` | `false` | Enable pprof at `/debug/pprof/` |
|
|
411
455
|
| `ENABLE_PASSTHROUGH_ROUTES` | `true` | Provider-native passthrough at `/p/{provider}` |
|
|
@@ -415,18 +459,22 @@ All configurable environment variables, organized by subsystem:
|
|
|
415
459
|
| `DISABLE_REQUEST_LOGGING` | `false` | Turn off request logging |
|
|
416
460
|
| `DISABLE_REQUEST_BODY_SNAPSHOT` | `false` | Don't snapshot request bodies |
|
|
417
461
|
| `DISABLE_PASSTHROUGH_SEMANTIC_ENRICHMENT` | `false` | Disable semantic enrichment on passthrough |
|
|
462
|
+
</details>
|
|
418
463
|
|
|
419
|
-
|
|
464
|
+
<details>
|
|
465
|
+
<summary>HTTP Client & Proxy</summary>
|
|
420
466
|
|
|
421
467
|
| Env var | Default | Description |
|
|
422
468
|
|---------|---------|-------------|
|
|
423
469
|
| `HTTP_TIMEOUT` | `600` | Upstream request timeout (seconds) |
|
|
424
|
-
| `HTTP_RESPONSE_HEADER_TIMEOUT` | `600` | Timeout for upstream response headers
|
|
470
|
+
| `HTTP_RESPONSE_HEADER_TIMEOUT` | `600` | Timeout for upstream response headers |
|
|
425
471
|
| `HTTP_PROXY` | — | HTTP proxy URL for upstream calls |
|
|
426
472
|
| `HTTPS_PROXY` | — | HTTPS proxy URL |
|
|
427
473
|
| `NO_PROXY` | — | Hosts to exclude from proxy |
|
|
474
|
+
</details>
|
|
428
475
|
|
|
429
|
-
|
|
476
|
+
<details>
|
|
477
|
+
<summary>Storage</summary>
|
|
430
478
|
|
|
431
479
|
| Env var | Default | Description |
|
|
432
480
|
|---------|---------|-------------|
|
|
@@ -436,20 +484,24 @@ All configurable environment variables, organized by subsystem:
|
|
|
436
484
|
| `POSTGRES_MAX_CONNS` | `10` | PostgreSQL connection pool max |
|
|
437
485
|
| `MONGODB_URL` | — | MongoDB connection string |
|
|
438
486
|
| `MONGODB_DATABASE` | `aurora` | MongoDB database name |
|
|
487
|
+
</details>
|
|
439
488
|
|
|
440
|
-
|
|
489
|
+
<details>
|
|
490
|
+
<summary>Model Registry</summary>
|
|
441
491
|
|
|
442
492
|
| Env var | Default | Description |
|
|
443
493
|
|---------|---------|-------------|
|
|
444
|
-
| `MODEL_LIST_URL` | `https://github.com/aurorallm/aurora/blob/main/docs-assets/assets/models.json` | External model metadata registry
|
|
494
|
+
| `MODEL_LIST_URL` | `https://github.com/aurorallm/aurora/blob/main/docs-assets/assets/models.json` | External model metadata registry |
|
|
445
495
|
| `MODEL_LIST_LOCAL_PATH` | `data/models.local.json` | Local model registry snapshot path |
|
|
446
496
|
| `MODEL_LIST_USER_OVERRIDES_PATH` | `data/user_pricing.yaml` | User pricing override file |
|
|
447
497
|
| `MODELS_ENABLED_BY_DEFAULT` | `true` | Default enabled state for provider models |
|
|
448
|
-
| `MODEL_OVERRIDES_ENABLED` | `true` | Allow per-model overrides
|
|
449
|
-
| `KEEP_ONLY_ALIASES_AT_MODELS_ENDPOINT` | `false` | Hide provider models
|
|
450
|
-
| `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>
|
|
451
502
|
|
|
452
|
-
|
|
503
|
+
<details>
|
|
504
|
+
<summary>Caching</summary>
|
|
453
505
|
|
|
454
506
|
**Model cache:**
|
|
455
507
|
|
|
@@ -475,7 +527,7 @@ All configurable environment variables, organized by subsystem:
|
|
|
475
527
|
|---------|---------|-------------|
|
|
476
528
|
| `SEMANTIC_CACHE_ENABLED` | `false` | Enable semantic cache |
|
|
477
529
|
| `SEMANTIC_CACHE_THRESHOLD` | `0.92` | Similarity threshold (0-1) |
|
|
478
|
-
| `SEMANTIC_CACHE_PROMPT_SIMILARITY` | `0.90` | Prompt similarity threshold
|
|
530
|
+
| `SEMANTIC_CACHE_PROMPT_SIMILARITY` | `0.90` | Prompt similarity threshold |
|
|
479
531
|
| `SEMANTIC_CACHE_TTL` | `3600` | Entry TTL (seconds) |
|
|
480
532
|
| `SEMANTIC_CACHE_MAX_CONV_MESSAGES` | `3` | Recent conversation messages to embed |
|
|
481
533
|
| `SEMANTIC_CACHE_EXCLUDE_SYSTEM_PROMPT` | `false` | Exclude system prompt from cache key |
|
|
@@ -495,20 +547,24 @@ All configurable environment variables, organized by subsystem:
|
|
|
495
547
|
| `SEMANTIC_CACHE_WEAVIATE_URL` | — | Weaviate URL |
|
|
496
548
|
| `SEMANTIC_CACHE_WEAVIATE_CLASS` | `AuroraSemanticCache` | Weaviate class name |
|
|
497
549
|
| `SEMANTIC_CACHE_WEAVIATE_API_KEY` | — | Weaviate API key |
|
|
550
|
+
</details>
|
|
498
551
|
|
|
499
|
-
|
|
552
|
+
<details>
|
|
553
|
+
<summary>Audit Logging</summary>
|
|
500
554
|
|
|
501
555
|
| Env var | Default | Description |
|
|
502
556
|
|---------|---------|-------------|
|
|
503
557
|
| `LOGGING_ENABLED` | `false` | Enable audit log to storage |
|
|
504
|
-
| `LOGGING_LOG_BODIES` | `true` | Log request/response bodies
|
|
558
|
+
| `LOGGING_LOG_BODIES` | `true` | Log request/response bodies |
|
|
505
559
|
| `LOGGING_LOG_HEADERS` | `true` | Log headers (sensitive headers redacted) |
|
|
506
560
|
| `LOGGING_ONLY_MODEL_INTERACTIONS` | `true` | Skip health/metrics/admin endpoints |
|
|
507
561
|
| `LOGGING_BUFFER_SIZE` | `1000` | In-memory queue capacity |
|
|
508
562
|
| `LOGGING_FLUSH_INTERVAL` | `5` | Flush interval (seconds) |
|
|
509
563
|
| `LOGGING_RETENTION_DAYS` | `30` | Auto-delete after N days (0 = forever) |
|
|
564
|
+
</details>
|
|
510
565
|
|
|
511
|
-
|
|
566
|
+
<details>
|
|
567
|
+
<summary>Usage Tracking</summary>
|
|
512
568
|
|
|
513
569
|
| Env var | Default | Description |
|
|
514
570
|
|---------|---------|-------------|
|
|
@@ -518,30 +574,36 @@ All configurable environment variables, organized by subsystem:
|
|
|
518
574
|
| `USAGE_BUFFER_SIZE` | `1000` | In-memory queue capacity |
|
|
519
575
|
| `USAGE_FLUSH_INTERVAL` | `5` | Flush interval (seconds) |
|
|
520
576
|
| `USAGE_RETENTION_DAYS` | `90` | Auto-delete after N days (0 = forever) |
|
|
577
|
+
</details>
|
|
521
578
|
|
|
522
|
-
|
|
579
|
+
<details>
|
|
580
|
+
<summary>Guardrails</summary>
|
|
523
581
|
|
|
524
582
|
| Env var | Default | Description |
|
|
525
583
|
|---------|---------|-------------|
|
|
526
584
|
| `GUARDRAILS_ENABLED` | `false` | Enable content safety filters globally |
|
|
527
585
|
| `ENABLE_GUARDRAILS_FOR_BATCH_PROCESSING` | `false` | Apply guardrails to `/v1/batches` items |
|
|
586
|
+
</details>
|
|
528
587
|
|
|
529
|
-
|
|
588
|
+
<details>
|
|
589
|
+
<summary>Metrics</summary>
|
|
530
590
|
|
|
531
591
|
| Env var | Default | Description |
|
|
532
592
|
|---------|---------|-------------|
|
|
533
593
|
| `METRICS_ENABLED` | `false` | Enable Prometheus `/metrics` endpoint |
|
|
534
594
|
| `METRICS_ENDPOINT` | `/metrics` | Metrics endpoint path |
|
|
595
|
+
</details>
|
|
535
596
|
|
|
536
|
-
|
|
597
|
+
<details>
|
|
598
|
+
<summary>Token Saver</summary>
|
|
537
599
|
|
|
538
600
|
| Env var | Default | Description |
|
|
539
601
|
|---------|---------|-------------|
|
|
540
|
-
| `TOKEN_SAVER_ENABLED` | `false` | Enable
|
|
602
|
+
| `TOKEN_SAVER_ENABLED` | `false` | Enable output compression |
|
|
541
603
|
| `TOKEN_SAVER_ENDPOINTS` | `chat_completions` | Endpoints to apply it to |
|
|
542
604
|
| `TOKEN_SAVER_APPLY_STREAMING` | `true` | Apply to streaming responses |
|
|
543
605
|
| `TOKEN_SAVER_OUTPUT_ENABLED` | `false` | Enable output style/profile |
|
|
544
|
-
| `TOKEN_SAVER_OUTPUT_PROFILE` | `concise` |
|
|
606
|
+
| `TOKEN_SAVER_OUTPUT_PROFILE` | `concise` | Profile: `concise`, `caveman`, `ultra`, `wenyan` |
|
|
545
607
|
| `TOKEN_SAVER_MODELS_INCLUDE` | — | Models to include (comma-separated) |
|
|
546
608
|
| `TOKEN_SAVER_MODELS_EXCLUDE` | — | Models to exclude |
|
|
547
609
|
| `TOKEN_SAVER_PROVIDERS_INCLUDE` | — | Providers to include |
|
|
@@ -549,8 +611,10 @@ All configurable environment variables, organized by subsystem:
|
|
|
549
611
|
| `TOKEN_SAVER_ON_ERROR` | `allow` | Behavior on error: `allow` or `block` |
|
|
550
612
|
| `TOKEN_SAVER_EMIT_HEADERS` | `true` | Emit token-saver headers in response |
|
|
551
613
|
| `TOKEN_SAVER_AUDIT_ENABLED` | `true` | Log token-saver actions |
|
|
614
|
+
</details>
|
|
552
615
|
|
|
553
|
-
|
|
616
|
+
<details>
|
|
617
|
+
<summary>Resilience</summary>
|
|
554
618
|
|
|
555
619
|
| Env var | Default | Description |
|
|
556
620
|
|---------|---------|-------------|
|
|
@@ -562,15 +626,19 @@ All configurable environment variables, organized by subsystem:
|
|
|
562
626
|
| `CIRCUIT_BREAKER_FAILURE_THRESHOLD` | `5` | Failures before circuit opens |
|
|
563
627
|
| `CIRCUIT_BREAKER_SUCCESS_THRESHOLD` | `2` | Successes before circuit closes |
|
|
564
628
|
| `CIRCUIT_BREAKER_TIMEOUT` | `30s` | Time before half-open retry |
|
|
629
|
+
</details>
|
|
565
630
|
|
|
566
|
-
|
|
631
|
+
<details>
|
|
632
|
+
<summary>Fallback</summary>
|
|
567
633
|
|
|
568
634
|
| Env var | Default | Description |
|
|
569
635
|
|---------|---------|-------------|
|
|
570
636
|
| `FEATURE_FALLBACK_MODE` | `manual` | Fallback mode: `auto`, `manual`, or `off` |
|
|
571
637
|
| `FALLBACK_MANUAL_RULES_PATH` | — | Path to manual fallback rules JSON |
|
|
638
|
+
</details>
|
|
572
639
|
|
|
573
|
-
|
|
640
|
+
<details>
|
|
641
|
+
<summary>Admin & Features</summary>
|
|
574
642
|
|
|
575
643
|
| Env var | Default | Description |
|
|
576
644
|
|---------|---------|-------------|
|
|
@@ -581,31 +649,34 @@ All configurable environment variables, organized by subsystem:
|
|
|
581
649
|
| `CLI_TOOLS_APPLY_ENABLED` | `false` | Allow admin/API to apply tool changes |
|
|
582
650
|
| `WORKFLOW_REFRESH_INTERVAL` | `1m` | Workflow refresh interval from storage |
|
|
583
651
|
| `EDITION` | — | Edition identifier (Enterprise use) |
|
|
652
|
+
</details>
|
|
584
653
|
|
|
585
|
-
|
|
654
|
+
<details>
|
|
655
|
+
<summary>Config file path</summary>
|
|
586
656
|
|
|
587
657
|
| Env var | Default | Description |
|
|
588
658
|
|---------|---------|-------------|
|
|
589
659
|
| `AURORA_CONFIG_PATH` | `configs/config.yaml` | Override path to config YAML |
|
|
660
|
+
</details>
|
|
590
661
|
|
|
591
662
|
---
|
|
592
663
|
|
|
593
664
|
## CLI Reference
|
|
594
665
|
|
|
595
|
-
|
|
666
|
+
Installed via `npm install -g iaurora`.
|
|
596
667
|
|
|
597
668
|
| Command | Description |
|
|
598
669
|
|---------|-------------|
|
|
599
|
-
| `aurora
|
|
600
|
-
| `aurora` |
|
|
601
|
-
| `aurora
|
|
602
|
-
|
|
603
|
-
`aurora
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
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 |
|
|
609
680
|
|
|
610
681
|
---
|
|
611
682
|
|
|
@@ -613,33 +684,47 @@ The gateway merges `config.yaml` + `.env`/env vars at startup. Use `config.yaml`
|
|
|
613
684
|
|
|
614
685
|
```text
|
|
615
686
|
aurora/
|
|
616
|
-
├── apps/
|
|
617
|
-
|
|
618
|
-
├──
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
├── configs/ # Configuration profiles and examples
|
|
628
|
-
├── docs/ # Documentation and assets
|
|
629
|
-
├── scripts/ # Build and release scripts
|
|
630
|
-
├── test/ # Test suites
|
|
631
|
-
└── 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
|
|
632
698
|
```
|
|
633
699
|
|
|
634
700
|
---
|
|
635
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
|
+
|
|
636
721
|
## Documentation
|
|
637
722
|
|
|
638
|
-
- [
|
|
639
|
-
- [
|
|
640
|
-
- [
|
|
641
|
-
- [
|
|
642
|
-
- [
|
|
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
|
|
643
728
|
|
|
644
729
|
---
|
|
645
730
|
|
|
@@ -664,4 +749,4 @@ We welcome contributions of all kinds! Check out the repository to get started:
|
|
|
664
749
|
|
|
665
750
|
This project is licensed under the Apache 2.0 License — see the [LICENSE](LICENSE) file for details.
|
|
666
751
|
|
|
667
|
-
Built
|
|
752
|
+
Built by the Aurora team.
|
package/bin/aurora.exe
CHANGED
|
Binary file
|
package/package.json
CHANGED