iaurora 1.0.21 → 1.0.25
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 +454 -29
- package/README.md +14 -35
- package/bin/aurora.exe +0 -0
- package/package.json +2 -2
package/.env.example
CHANGED
|
@@ -1,29 +1,454 @@
|
|
|
1
|
-
# Aurora Gateway
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
#
|
|
22
|
-
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
#
|
|
28
|
-
|
|
29
|
-
#
|
|
1
|
+
# Aurora Gateway Environment Template
|
|
2
|
+
#
|
|
3
|
+
# Copy this file to .env in this directory for local Docker Compose runs.
|
|
4
|
+
# Keep real secrets in .env only; this template must stay secret-free.
|
|
5
|
+
#
|
|
6
|
+
# Syntax notes:
|
|
7
|
+
# - Values are examples/defaults unless marked required for a feature.
|
|
8
|
+
# - Durations accept seconds for many numeric settings, or Go durations where noted.
|
|
9
|
+
# - Provider instances use <PROVIDER>_<SUFFIX>_*; suffix underscores become hyphens.
|
|
10
|
+
# - Preferred setup is YAML for structure and env vars for secrets/runtime values.
|
|
11
|
+
# Use AURORA_CONFIG_PATH=configs/editions/oss.example.yaml for minimal local,
|
|
12
|
+
# configs/editions/oss.local-power.example.yaml for Redis-backed local power use,
|
|
13
|
+
# or configs/editions/oss.team.example.yaml for Postgres/Redis/Qdrant team deployments.
|
|
14
|
+
# - This template documents OSS runtime settings only.
|
|
15
|
+
|
|
16
|
+
# =============================================================================
|
|
17
|
+
# Server & Routing
|
|
18
|
+
# =============================================================================
|
|
19
|
+
|
|
20
|
+
# HTTP port for the gateway (default: 8080)
|
|
21
|
+
# PORT=8080
|
|
22
|
+
|
|
23
|
+
# Mount the gateway under a path prefix, e.g. https://example.com/g/ (default: /)
|
|
24
|
+
# BASE_PATH=/g
|
|
25
|
+
|
|
26
|
+
# Maximum request body size. Accepts "10M", "1G", "500K" (default: 10M)
|
|
27
|
+
# BODY_SIZE_LIMIT=10M
|
|
28
|
+
|
|
29
|
+
# Enable Swagger UI at /swagger/index.html (default: false in code defaults)
|
|
30
|
+
# SWAGGER_ENABLED=true
|
|
31
|
+
|
|
32
|
+
# Enable pprof profiling routes at /debug/pprof/* (default: false)
|
|
33
|
+
# PPROF_ENABLED=false
|
|
34
|
+
|
|
35
|
+
# Enable provider-native passthrough routes under /p/{provider}/{endpoint} (default: true)
|
|
36
|
+
# ENABLE_PASSTHROUGH_ROUTES=true
|
|
37
|
+
|
|
38
|
+
# Allow optional /p/{provider}/v1/... aliases while keeping /p/{provider}/... canonical (default: true)
|
|
39
|
+
# ALLOW_PASSTHROUGH_V1_ALIAS=true
|
|
40
|
+
|
|
41
|
+
# Provider types enabled for passthrough routes
|
|
42
|
+
# ENABLED_PASSTHROUGH_PROVIDERS=openai,anthropic,openrouter,zai,vllm
|
|
43
|
+
|
|
44
|
+
# Expose /v1/messages for native Anthropic-format clients (default: false)
|
|
45
|
+
# ENABLE_ANTHROPIC_INGRESS=false
|
|
46
|
+
|
|
47
|
+
# =============================================================================
|
|
48
|
+
# Security
|
|
49
|
+
# =============================================================================
|
|
50
|
+
|
|
51
|
+
# CRITICAL: Set this to secure the gateway from unauthorized access.
|
|
52
|
+
# If unset, the server may run in unsafe mode with a warning.
|
|
53
|
+
# AURORA_MASTER_KEY=replace-with-secure-random-key
|
|
54
|
+
|
|
55
|
+
# =============================================================================
|
|
56
|
+
# Logging & Runtime Metadata
|
|
57
|
+
# =============================================================================
|
|
58
|
+
|
|
59
|
+
# Log output format: auto-detect when unset, or set to json/text
|
|
60
|
+
# LOG_FORMAT=text
|
|
61
|
+
|
|
62
|
+
# Log verbosity: debug, info, warn, or error (default: info)
|
|
63
|
+
# LOG_LEVEL=info
|
|
64
|
+
|
|
65
|
+
# Include source file/line in logs when supported (default: false)
|
|
66
|
+
# LOG_ADD_SOURCE=false
|
|
67
|
+
|
|
68
|
+
# Optional service metadata added to structured logs
|
|
69
|
+
# SERVICE_NAME=aurora-gateway
|
|
70
|
+
# ENV=development
|
|
71
|
+
|
|
72
|
+
# =============================================================================
|
|
73
|
+
# HTTP Client Timeouts
|
|
74
|
+
# =============================================================================
|
|
75
|
+
|
|
76
|
+
# Overall upstream request timeout (default: 600 seconds)
|
|
77
|
+
# HTTP_TIMEOUT=600
|
|
78
|
+
|
|
79
|
+
# Time to wait for upstream response headers (default: 600 seconds)
|
|
80
|
+
# HTTP_RESPONSE_HEADER_TIMEOUT=600
|
|
81
|
+
|
|
82
|
+
# =============================================================================
|
|
83
|
+
# Metrics
|
|
84
|
+
# =============================================================================
|
|
85
|
+
|
|
86
|
+
# Enable Prometheus metrics collection and /metrics endpoint (default: false)
|
|
87
|
+
# METRICS_ENABLED=false
|
|
88
|
+
|
|
89
|
+
# Metrics endpoint path (default: /metrics)
|
|
90
|
+
# METRICS_ENDPOINT=/metrics
|
|
91
|
+
|
|
92
|
+
# =============================================================================
|
|
93
|
+
# Admin API & Dashboard
|
|
94
|
+
# =============================================================================
|
|
95
|
+
|
|
96
|
+
# Enable /admin/api/v1/* REST endpoints (default: true)
|
|
97
|
+
# ADMIN_ENDPOINTS_ENABLED=true
|
|
98
|
+
|
|
99
|
+
# Enable /admin/dashboard UI (default: true; requires ADMIN_ENDPOINTS_ENABLED=true)
|
|
100
|
+
# ADMIN_UI_ENABLED=true
|
|
101
|
+
|
|
102
|
+
# Dashboard implementation variant (default: react)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
# =============================================================================
|
|
106
|
+
# Config Files & Dashboard Overrides
|
|
107
|
+
# =============================================================================
|
|
108
|
+
|
|
109
|
+
# Optional config path override. When unset, the gateway loads configs/config.yaml.
|
|
110
|
+
# AURORA_CONFIG_PATH=configs/editions/oss.example.yaml
|
|
111
|
+
|
|
112
|
+
# Local path to manual fallback rules for direct/air runs. Docker Compose overrides this to /app/configs/fallback.local.json.
|
|
113
|
+
# FALLBACK_MANUAL_RULES_PATH=./.aurora.local/fallback.local.json
|
|
114
|
+
|
|
115
|
+
# Default translated-route fallback mode: auto, manual, or off (default: manual)
|
|
116
|
+
# FEATURE_FALLBACK_MODE=manual
|
|
117
|
+
|
|
118
|
+
# How often to refresh persisted workflows from storage (default: 1m)
|
|
119
|
+
# WORKFLOW_REFRESH_INTERVAL=1m
|
|
120
|
+
|
|
121
|
+
# =============================================================================
|
|
122
|
+
# Model Registry & Model Access
|
|
123
|
+
# =============================================================================
|
|
124
|
+
|
|
125
|
+
# External model metadata registry. Leave empty to disable upstream fetch.
|
|
126
|
+
# MODEL_LIST_URL=https://auroraix.github.io/aurora/models.json
|
|
127
|
+
|
|
128
|
+
# Local model registry snapshot and user pricing overrides
|
|
129
|
+
# MODEL_LIST_LOCAL_PATH=data/models.local.json
|
|
130
|
+
# MODEL_LIST_USER_OVERRIDES_PATH=data/user_pricing.yaml
|
|
131
|
+
|
|
132
|
+
# Process-wide default for provider models when no persisted override exists (default: true)
|
|
133
|
+
# MODELS_ENABLED_BY_DEFAULT=true
|
|
134
|
+
|
|
135
|
+
# Enable persisted model overrides and dashboard editing (default: true)
|
|
136
|
+
# MODEL_OVERRIDES_ENABLED=true
|
|
137
|
+
|
|
138
|
+
# Hide provider models from GET /v1/models and expose only enabled aliases (default: false)
|
|
139
|
+
# KEEP_ONLY_ALIASES_AT_MODELS_ENDPOINT=false
|
|
140
|
+
|
|
141
|
+
# How configured provider model lists affect inventory: fallback or allowlist (default: fallback)
|
|
142
|
+
# CONFIGURED_PROVIDER_MODELS_MODE=fallback
|
|
143
|
+
|
|
144
|
+
# =============================================================================
|
|
145
|
+
# Model Cache
|
|
146
|
+
# =============================================================================
|
|
147
|
+
|
|
148
|
+
# Dashboard/runtime cache toggle used by admin settings views.
|
|
149
|
+
# CACHE_ENABLED=true
|
|
150
|
+
|
|
151
|
+
# Local filesystem cache directory for model metadata (default: .cache when enabled)
|
|
152
|
+
# AURORA_CACHE_DIR=.cache
|
|
153
|
+
|
|
154
|
+
# Redis-backed model cache. Set REDIS_URL to use Redis instead of local cache.
|
|
155
|
+
# For Docker Compose app profile use redis://redis:6379; for host-only runs use redis://localhost:6379.
|
|
156
|
+
# REDIS_URL=redis://redis:6379
|
|
157
|
+
# REDIS_KEY_MODELS=aurora:models
|
|
158
|
+
# REDIS_TTL_MODELS=86400
|
|
159
|
+
|
|
160
|
+
# How often to refresh model registry cache in seconds (default: 3600)
|
|
161
|
+
# CACHE_REFRESH_INTERVAL=3600
|
|
162
|
+
|
|
163
|
+
# Optional Redis connection helper values used by local/docker tooling.
|
|
164
|
+
# REDIS_CONNECTION_LIMIT=20
|
|
165
|
+
# REDIS_PORT=6379
|
|
166
|
+
|
|
167
|
+
# =============================================================================
|
|
168
|
+
# Response Cache - Simple Redis Cache
|
|
169
|
+
# =============================================================================
|
|
170
|
+
|
|
171
|
+
# Opt-in when config.yaml has no cache.response.simple block (env-only deploys)
|
|
172
|
+
# RESPONSE_CACHE_SIMPLE_ENABLED=true
|
|
173
|
+
# REDIS_KEY_RESPONSES=aurora:response:
|
|
174
|
+
# REDIS_TTL_RESPONSES=3600
|
|
175
|
+
|
|
176
|
+
# =============================================================================
|
|
177
|
+
# Response Cache - Semantic Cache
|
|
178
|
+
# =============================================================================
|
|
179
|
+
|
|
180
|
+
# Opt-in when config.yaml has no cache.response.semantic block (env-only deploys)
|
|
181
|
+
# SEMANTIC_CACHE_ENABLED=true
|
|
182
|
+
|
|
183
|
+
# Similarity thresholds between 0 and 1
|
|
184
|
+
# SEMANTIC_CACHE_THRESHOLD=0.92
|
|
185
|
+
# SEMANTIC_CACHE_PROMPT_SIMILARITY=0.90
|
|
186
|
+
|
|
187
|
+
# Semantic cache entry TTL in seconds and recent conversation messages to embed
|
|
188
|
+
# SEMANTIC_CACHE_TTL=3600
|
|
189
|
+
# SEMANTIC_CACHE_MAX_CONV_MESSAGES=3
|
|
190
|
+
|
|
191
|
+
# Exclude the system prompt from semantic cache keys (default: false)
|
|
192
|
+
# SEMANTIC_CACHE_EXCLUDE_SYSTEM_PROMPT=false
|
|
193
|
+
|
|
194
|
+
# Embedder used by semantic cache
|
|
195
|
+
# SEMANTIC_CACHE_EMBEDDER_PROVIDER=openai
|
|
196
|
+
# SEMANTIC_CACHE_EMBEDDER_MODEL=text-embedding-3-small
|
|
197
|
+
|
|
198
|
+
# Vector store backend: qdrant, pgvector, pinecone, or weaviate
|
|
199
|
+
# SEMANTIC_CACHE_VECTOR_STORE_TYPE=qdrant
|
|
200
|
+
|
|
201
|
+
# Qdrant semantic cache backend
|
|
202
|
+
# SEMANTIC_CACHE_QDRANT_URL=http://localhost:6333
|
|
203
|
+
# SEMANTIC_CACHE_QDRANT_COLLECTION=aurora_semantic
|
|
204
|
+
# SEMANTIC_CACHE_QDRANT_API_KEY=
|
|
205
|
+
|
|
206
|
+
# pgvector semantic cache backend
|
|
207
|
+
# SEMANTIC_CACHE_PGVECTOR_URL=postgres://user:pass@localhost:5432/aurora
|
|
208
|
+
# SEMANTIC_CACHE_PGVECTOR_TABLE=aurora_semantic_cache
|
|
209
|
+
# SEMANTIC_CACHE_PGVECTOR_DIMENSION=1536
|
|
210
|
+
|
|
211
|
+
# Pinecone semantic cache backend
|
|
212
|
+
# SEMANTIC_CACHE_PINECONE_HOST=https://your-index.svc.region.pinecone.io
|
|
213
|
+
# SEMANTIC_CACHE_PINECONE_API_KEY=
|
|
214
|
+
# SEMANTIC_CACHE_PINECONE_NAMESPACE=
|
|
215
|
+
# SEMANTIC_CACHE_PINECONE_DIMENSION=1536
|
|
216
|
+
|
|
217
|
+
# Weaviate semantic cache backend
|
|
218
|
+
# SEMANTIC_CACHE_WEAVIATE_URL=http://localhost:8080
|
|
219
|
+
# SEMANTIC_CACHE_WEAVIATE_CLASS=AuroraSemanticCache
|
|
220
|
+
# SEMANTIC_CACHE_WEAVIATE_API_KEY=
|
|
221
|
+
|
|
222
|
+
# =============================================================================
|
|
223
|
+
# Storage
|
|
224
|
+
# =============================================================================
|
|
225
|
+
|
|
226
|
+
# Storage type: sqlite (default), postgresql, or mongodb
|
|
227
|
+
# STORAGE_TYPE=sqlite
|
|
228
|
+
|
|
229
|
+
# SQLite storage
|
|
230
|
+
# SQLITE_PATH=data/aurora.db
|
|
231
|
+
|
|
232
|
+
# PostgreSQL storage
|
|
233
|
+
# For Docker Compose app profile use postgres service DNS; for host-only runs use localhost.
|
|
234
|
+
# POSTGRES_URL=postgres://aurora:aurora@postgres:5432/aurora?sslmode=disable
|
|
235
|
+
# POSTGRES_MAX_CONNS=10
|
|
236
|
+
# POSTGRES_DB=aurora
|
|
237
|
+
|
|
238
|
+
# MongoDB storage
|
|
239
|
+
# MONGODB_URL=mongodb://localhost:27017/aurora
|
|
240
|
+
# MONGODB_DATABASE=aurora
|
|
241
|
+
|
|
242
|
+
# =============================================================================
|
|
243
|
+
# Audit Logging
|
|
244
|
+
# =============================================================================
|
|
245
|
+
|
|
246
|
+
# Enable audit logging to configured storage (default: false)
|
|
247
|
+
# LOGGING_ENABLED=false
|
|
248
|
+
|
|
249
|
+
# WARNING: Bodies may contain PII, prompts, or sensitive data.
|
|
250
|
+
# LOGGING_LOG_BODIES=false
|
|
251
|
+
|
|
252
|
+
# Sensitive headers are automatically redacted.
|
|
253
|
+
# LOGGING_LOG_HEADERS=false
|
|
254
|
+
|
|
255
|
+
# Log only model interactions, skipping /health, /metrics, /admin (default: true)
|
|
256
|
+
# LOGGING_ONLY_MODEL_INTERACTIONS=true
|
|
257
|
+
|
|
258
|
+
# In-memory audit log queue capacity and flush cadence
|
|
259
|
+
# LOGGING_BUFFER_SIZE=1000
|
|
260
|
+
# LOGGING_FLUSH_INTERVAL=5
|
|
261
|
+
|
|
262
|
+
# Auto-delete logs older than N days, 0 = keep forever (default: 30)
|
|
263
|
+
# LOGGING_RETENTION_DAYS=30
|
|
264
|
+
|
|
265
|
+
# =============================================================================
|
|
266
|
+
# Usage Tracking
|
|
267
|
+
# =============================================================================
|
|
268
|
+
|
|
269
|
+
# Enable token usage tracking (default: true)
|
|
270
|
+
# USAGE_ENABLED=true
|
|
271
|
+
|
|
272
|
+
# Enable admin usage pricing recalculation action (default: true)
|
|
273
|
+
# USAGE_PRICING_RECALCULATION_ENABLED=true
|
|
274
|
+
|
|
275
|
+
# Add stream_options.include_usage=true to streaming OpenAI-compatible requests (default: true)
|
|
276
|
+
# ENFORCE_RETURNING_USAGE_DATA=true
|
|
277
|
+
|
|
278
|
+
# In-memory usage queue capacity and flush cadence
|
|
279
|
+
# USAGE_BUFFER_SIZE=1000
|
|
280
|
+
# USAGE_FLUSH_INTERVAL=5
|
|
281
|
+
|
|
282
|
+
# Auto-delete usage data older than N days, 0 = keep forever (default: 90)
|
|
283
|
+
# USAGE_RETENTION_DAYS=90
|
|
284
|
+
|
|
285
|
+
# =============================================================================
|
|
286
|
+
# Guardrails
|
|
287
|
+
# =============================================================================
|
|
288
|
+
|
|
289
|
+
# Enable configured guardrails globally (default: false)
|
|
290
|
+
# GUARDRAILS_ENABLED=false
|
|
291
|
+
|
|
292
|
+
# Apply guardrails to inline /v1/batches request items (default: false)
|
|
293
|
+
# ENABLE_GUARDRAILS_FOR_BATCH_PROCESSING=false
|
|
294
|
+
|
|
295
|
+
# Token Saver
|
|
296
|
+
# =============================================================================
|
|
297
|
+
|
|
298
|
+
# Caveman-style output compression (default: disabled).
|
|
299
|
+
# Injects a 'talk like caveman' system instruction — drops filler, keeps substance.
|
|
300
|
+
# TOKEN_SAVER_ENABLED=false
|
|
301
|
+
# TOKEN_SAVER_ENDPOINTS=chat_completions
|
|
302
|
+
# TOKEN_SAVER_APPLY_STREAMING=true
|
|
303
|
+
|
|
304
|
+
# Output style
|
|
305
|
+
# TOKEN_SAVER_OUTPUT_ENABLED=false
|
|
306
|
+
# TOKEN_SAVER_OUTPUT_PROFILE=concise
|
|
307
|
+
|
|
308
|
+
# Optional include/exclude filters
|
|
309
|
+
# TOKEN_SAVER_MODELS_INCLUDE=
|
|
310
|
+
# TOKEN_SAVER_MODELS_EXCLUDE=
|
|
311
|
+
# TOKEN_SAVER_PROVIDERS_INCLUDE=
|
|
312
|
+
# TOKEN_SAVER_PROVIDERS_EXCLUDE=
|
|
313
|
+
|
|
314
|
+
# Error/header/audit behavior
|
|
315
|
+
# TOKEN_SAVER_ON_ERROR=allow
|
|
316
|
+
# TOKEN_SAVER_EMIT_HEADERS=true
|
|
317
|
+
# TOKEN_SAVER_AUDIT_ENABLED=true
|
|
318
|
+
|
|
319
|
+
# =============================================================================
|
|
320
|
+
# Resilience
|
|
321
|
+
# =============================================================================
|
|
322
|
+
|
|
323
|
+
# Retry attempts for upstream provider calls (default: 3)
|
|
324
|
+
# RETRY_MAX_RETRIES=3
|
|
325
|
+
# RETRY_INITIAL_BACKOFF=1s
|
|
326
|
+
# RETRY_MAX_BACKOFF=30s
|
|
327
|
+
# RETRY_BACKOFF_FACTOR=2.0
|
|
328
|
+
# RETRY_JITTER_FACTOR=0.1
|
|
329
|
+
|
|
330
|
+
# Circuit breaker settings
|
|
331
|
+
# CIRCUIT_BREAKER_FAILURE_THRESHOLD=5
|
|
332
|
+
# CIRCUIT_BREAKER_SUCCESS_THRESHOLD=2
|
|
333
|
+
# CIRCUIT_BREAKER_TIMEOUT=30s
|
|
334
|
+
|
|
335
|
+
# =============================================================================
|
|
336
|
+
# Admin Tools & Combos
|
|
337
|
+
# =============================================================================
|
|
338
|
+
|
|
339
|
+
# Enable CLI tools integration and whether admin/API can apply tool changes
|
|
340
|
+
# CLI_TOOLS_ENABLED=true
|
|
341
|
+
# CLI_TOOLS_APPLY_ENABLED=false
|
|
342
|
+
|
|
343
|
+
# Enable combo model calls/workflows (default: true)
|
|
344
|
+
# COMBOS_ENABLED=true
|
|
345
|
+
|
|
346
|
+
# =============================================================================
|
|
347
|
+
# Provider API Keys & Base URLs
|
|
348
|
+
# =============================================================================
|
|
349
|
+
|
|
350
|
+
# OpenAI
|
|
351
|
+
# OPENAI_API_KEY=sk-...
|
|
352
|
+
# OPENAI_BASE_URL=https://api.openai.com/v1
|
|
353
|
+
# OPENAI_MODELS=gpt-4o,gpt-4o-mini
|
|
354
|
+
|
|
355
|
+
# Anthropic
|
|
356
|
+
# ANTHROPIC_API_KEY=sk-ant-...
|
|
357
|
+
# ANTHROPIC_BASE_URL=https://api.anthropic.com/v1
|
|
358
|
+
# ANTHROPIC_DEFAULT_MAX_TOKENS=4096
|
|
359
|
+
# ANTHROPIC_MODELS=claude-sonnet-4-6,claude-opus-4-8
|
|
360
|
+
|
|
361
|
+
# Google Gemini (OpenAI-compatible endpoint)
|
|
362
|
+
# GEMINI_API_KEY=...
|
|
363
|
+
# GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai
|
|
364
|
+
# GEMINI_MODELS=gemini-2.5-pro,gemini-2.5-flash
|
|
365
|
+
|
|
366
|
+
# xAI (Grok)
|
|
367
|
+
# XAI_API_KEY=...
|
|
368
|
+
# XAI_BASE_URL=https://api.x.ai/v1
|
|
369
|
+
# XAI_MODELS=grok-3,grok-3-mini
|
|
370
|
+
|
|
371
|
+
# Groq
|
|
372
|
+
# GROQ_API_KEY=gsk_...
|
|
373
|
+
# GROQ_BASE_URL=https://api.groq.com/openai/v1
|
|
374
|
+
# GROQ_MODELS=llama-3.3-70b-versatile
|
|
375
|
+
|
|
376
|
+
# OpenRouter
|
|
377
|
+
# OPENROUTER_API_KEY=sk-or-...
|
|
378
|
+
# OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
|
|
379
|
+
# OPENROUTER_MODELS=openai/gpt-oss-120b,anthropic/claude-sonnet-4
|
|
380
|
+
# OPENROUTER_SITE_URL=https://github.com/auroraix/aurora
|
|
381
|
+
# OPENROUTER_APP_NAME=Aurora Gateway
|
|
382
|
+
|
|
383
|
+
# Z.ai
|
|
384
|
+
# ZAI_API_KEY=...
|
|
385
|
+
# ZAI_BASE_URL=https://api.z.ai/api/paas/v4
|
|
386
|
+
# ZAI_MODELS=glm-4.5
|
|
387
|
+
|
|
388
|
+
# MiniMax
|
|
389
|
+
# MINIMAX_API_KEY=...
|
|
390
|
+
# MINIMAX_BASE_URL=https://api.minimax.io/v1
|
|
391
|
+
# MINIMAX_MODELS=minimax-m1
|
|
392
|
+
|
|
393
|
+
# Azure OpenAI
|
|
394
|
+
# AZURE_API_KEY=...
|
|
395
|
+
# AZURE_BASE_URL=https://your-resource.openai.azure.com/openai/deployments/your-deployment
|
|
396
|
+
# AZURE_API_VERSION=2024-10-21
|
|
397
|
+
# AZURE_MODELS=deployment-name
|
|
398
|
+
|
|
399
|
+
# Oracle
|
|
400
|
+
# ORACLE_API_KEY=...
|
|
401
|
+
# ORACLE_BASE_URL=https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/v1
|
|
402
|
+
# ORACLE_MODELS=openai.gpt-oss-120b,xai.grok-3
|
|
403
|
+
|
|
404
|
+
# Ollama (local LLM server; API key optional for secured deployments)
|
|
405
|
+
# OLLAMA_API_KEY=...
|
|
406
|
+
# OLLAMA_BASE_URL=http://localhost:11434/v1
|
|
407
|
+
# OLLAMA_MODELS=llama3.1
|
|
408
|
+
|
|
409
|
+
# vLLM (OpenAI-compatible server; API key optional)
|
|
410
|
+
# VLLM_API_KEY=<your-vllm-api-key>
|
|
411
|
+
# VLLM_BASE_URL=http://localhost:8000/v1
|
|
412
|
+
# VLLM_MODELS=local-model
|
|
413
|
+
|
|
414
|
+
# Local/proxy provider examples from project-local .env. Replace with your own values.
|
|
415
|
+
# OPENAI_PROXY_API_KEY=replace-with-openai-proxy-key
|
|
416
|
+
# OPENAI_PROXY_BASE_URL=https://proxy.example.com/openai/v1
|
|
417
|
+
# OPENAI_PROXY_MODELS=gpt-4o-mini
|
|
418
|
+
# GOOGLE_PROXY_API_KEY=replace-with-google-proxy-key
|
|
419
|
+
# GOOGLE_PROXY_BASE_URL=https://proxy.example.com/google/v1beta
|
|
420
|
+
# GOOGLE_PROXY_MODELS=gemini-2.5-flash
|
|
421
|
+
# INCEPTION_API_KEY=replace-with-inception-key
|
|
422
|
+
# INCEPTION_BASE_URL=https://api.inceptionlabs.ai/v1
|
|
423
|
+
# INCEPTION_MODELS=mercury-coder-small
|
|
424
|
+
# THIRDPARTY_API_KEY=replace-with-thirdparty-key
|
|
425
|
+
# THIRDPARTY_BASE_URL=https://example-thirdparty.invalid/v1
|
|
426
|
+
# THIRDPARTY_MODELS=example-model
|
|
427
|
+
|
|
428
|
+
# Jina embeddings / reranking. Numbered keys can be used for multiple provider instances.
|
|
429
|
+
# JINA_API_KEY=replace-with-jina-key
|
|
430
|
+
# JINA_API_KEY1=replace-with-jina-key-1
|
|
431
|
+
# JINA_API_KEY2=replace-with-jina-key-2
|
|
432
|
+
# JINA_API_KEY3=replace-with-jina-key-3
|
|
433
|
+
# JINA_BASE_URL=https://api.jina.ai/v1
|
|
434
|
+
# JINA_MODELS=jina-embeddings-v3
|
|
435
|
+
|
|
436
|
+
# =============================================================================
|
|
437
|
+
# Docker Compose / Local Runtime Helpers
|
|
438
|
+
# =============================================================================
|
|
439
|
+
|
|
440
|
+
# Host/container port mapping helpers used by docker-compose or local scripts
|
|
441
|
+
# AURORA_HOST_PORT=8088
|
|
442
|
+
|
|
443
|
+
# Host-side paths for mounted config, fallback rules, and CA certificate
|
|
444
|
+
# AURORA_CONFIG_HOST_PATH=.aurora.local/config.yaml
|
|
445
|
+
# AURORA_FALLBACK_HOST_PATH=.aurora.local/fallback.local.json
|
|
446
|
+
# AURORA_CA_PEM_HOST_PATH=.aurora.local/ca.pem
|
|
447
|
+
|
|
448
|
+
# Local CA path for direct/air runs. Docker Compose overrides this to /app/configs/ca.pem.
|
|
449
|
+
# CA_PEM_PATH=.aurora.local/ca.pem
|
|
450
|
+
|
|
451
|
+
# General Qdrant settings used by docker-compose/config.yaml expansion.
|
|
452
|
+
# For semantic cache specifically, use SEMANTIC_CACHE_QDRANT_* above.
|
|
453
|
+
# QDRANT_URL=http://qdrant:6333
|
|
454
|
+
# QDRANT_API_KEY=
|
package/README.md
CHANGED
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
<a href="https://github.com/aurorallm/aurora"><img src="https://img.shields.io/github/stars/aurorallm/aurora" alt="GitHub Stars" height="20"></a>
|
|
27
27
|
<a href="https://discord.gg/YJPrfR9uh"><img src="https://dcbadge.limes.pink/api/server/https://discord.gg/YJPrfR9uh?style=flat" alt="Discord" height="20"></a>
|
|
28
28
|
<img src="https://img.shields.io/docker/pulls/aurorahq/aurora" alt="Docker Pulls" height="20">
|
|
29
|
-
<a href="https://app.getpostman.com/run-collection/31642484-2ba0e658-4dcd-49f4-845a-0c7ed745b916?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D31642484-2ba0e658-4dcd-49f4-845a-0c7ed745b916%26entityType%3Dcollection%26workspaceId%3D63e853c8-9aec-477f-909c-7f02f543150e"><img src="https://run.pstmn.io/button.svg" alt="Run In Postman" height="20"></a>
|
|
30
29
|
<a href="https://artifacthub.io/packages/search?repo=aurora"><img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/aurora" alt="Artifact Hub" height="20"></a>
|
|
31
30
|
</p>
|
|
32
31
|
|
|
@@ -35,15 +34,15 @@
|
|
|
35
34
|
Route AI traffic through a single OpenAI- and Anthropic-compatible API.
|
|
36
35
|
Self-hosted. No vendor lock-in. Full source visibility.
|
|
37
36
|
|
|
38
|
-
<a href="docs/assets/dashboard-overview.png">
|
|
39
|
-
<img src="docs/assets/dashboard-overview.png" alt="Aurora dashboard" width="100%">
|
|
37
|
+
<a href="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/dashboard-overview.png">
|
|
38
|
+
<img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/dashboard-overview.png" alt="Aurora dashboard" width="100%">
|
|
40
39
|
</a>
|
|
41
40
|
|
|
42
41
|
## Quick Start
|
|
43
42
|
|
|
44
43
|
**Go from zero to running in under a minute.**
|
|
45
44
|
|
|
46
|
-
<img src="
|
|
45
|
+
<img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/install.gif" alt="Install demo" style="max-width:100%;border-radius:12px;margin:12px 0;">
|
|
47
46
|
|
|
48
47
|
**1. Install Aurora Gateway**
|
|
49
48
|
|
|
@@ -53,6 +52,14 @@ npm install -g iaurora
|
|
|
53
52
|
docker run --rm -p 8080:8080 \
|
|
54
53
|
-e AURORA_MASTER_KEY="your-key" \
|
|
55
54
|
-e GROQ_API_KEY="gsk_..." \
|
|
55
|
+
# optional: add more providers or configure storage
|
|
56
|
+
# -e OPENAI_API_KEY="sk-..." \
|
|
57
|
+
# -e ANTHROPIC_API_KEY="sk-ant-..." \
|
|
58
|
+
# -e GEMINI_API_KEY="..." \
|
|
59
|
+
# -e STORAGE_TYPE=sqlite # sqlite (default), postgresql, mongodb
|
|
60
|
+
# -e PORT=8080 # change listening port
|
|
61
|
+
# -e LOG_LEVEL=info # debug, info, warn, error
|
|
62
|
+
# -e LOG_FORMAT=text # text or json
|
|
56
63
|
aurorahq/aurora
|
|
57
64
|
```
|
|
58
65
|
|
|
@@ -84,10 +91,10 @@ The dashboard is at `http://localhost:8080/admin/dashboard`.
|
|
|
84
91
|
Aurora supports enterprise-grade deployments for teams running production AI systems at scale.
|
|
85
92
|
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.
|
|
86
93
|
|
|
87
|
-
The Enterprise edition is a separate distribution with a signed license
|
|
94
|
+
The Enterprise edition is a separate distribution with a signed license.
|
|
88
95
|
|
|
89
|
-
<a href="
|
|
90
|
-
<img src="
|
|
96
|
+
<a href="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/comparison.png">
|
|
97
|
+
<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;">
|
|
91
98
|
</a>
|
|
92
99
|
|
|
93
100
|
<div align="center">
|
|
@@ -98,37 +105,9 @@ The Enterprise edition is a separate distribution with a signed license — it c
|
|
|
98
105
|
|
|
99
106
|
---
|
|
100
107
|
|
|
101
|
-
## Key Features
|
|
102
|
-
|
|
103
|
-
### Core Infrastructure
|
|
104
|
-
|
|
105
|
-
- **Unified Interface** — Single OpenAI- and Anthropic-compatible API for all providers
|
|
106
|
-
- **Multi-Provider Support** — 15+ providers auto-discovered from env vars (OpenAI, Anthropic, Gemini, Groq, DeepSeek, and more)
|
|
107
|
-
- **Automatic Fallbacks** — Seamless failover with fallback routing and combo models
|
|
108
|
-
- **Model Discovery** — Providers and models auto-detected from environment variables
|
|
109
|
-
|
|
110
|
-
### Advanced Features
|
|
111
|
-
|
|
112
|
-
- **Admin Dashboard** — Web UI for managing providers, API keys, models, and combos
|
|
113
|
-
- **Semantic Caching** — Intelligent response caching based on semantic similarity to reduce costs and latency
|
|
114
|
-
- **Anthropic Ingress** — Native Anthropic-format `/v1/messages` endpoint
|
|
115
|
-
- **Audit Logging** — Records every request/response with retention
|
|
116
|
-
- **Guardrails** — Content safety filters (system prompt, regex, PII redaction)
|
|
117
|
-
|
|
118
|
-
### Developer Experience
|
|
119
|
-
|
|
120
|
-
- **Zero-Config Startup** — Start immediately with auto-detected providers
|
|
121
|
-
- **Prometheus Metrics** — Go runtime + request metrics at `/metrics`
|
|
122
|
-
- **Swagger UI** — Interactive API docs at `/swagger/index.html`
|
|
123
|
-
- **SQLite Storage** — Zero-config embedded database, no setup needed
|
|
124
|
-
- **CLI Tools** — Admin configuration via CLI commands
|
|
125
|
-
|
|
126
|
-
---
|
|
127
108
|
|
|
128
109
|
## Repository Structure
|
|
129
110
|
|
|
130
|
-
Aurora uses a modular architecture for maximum flexibility:
|
|
131
|
-
|
|
132
111
|
```text
|
|
133
112
|
aurora/
|
|
134
113
|
├── apps/ # Application entrypoints
|
package/bin/aurora.exe
CHANGED
|
Binary file
|
package/package.json
CHANGED