iaurora 1.0.24 → 1.0.26

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 CHANGED
@@ -1,29 +1,454 @@
1
- # Aurora Gateway Environment Variables
2
- # Copy or rename this file to .env and fill in your values.
3
- # The .env file must be in the same directory as your config YAML.
4
-
5
- # REQUIRED: Gateway security key (set before exposing outside localhost)
6
- AURORA_MASTER_KEY=replace-with-secure-key
7
-
8
- # REQUIRED: At least one provider API key (uncomment one or more)
9
- # GROQ_API_KEY=gsk_...
10
- # OPENAI_API_KEY=sk-...
11
- # ANTHROPIC_API_KEY=sk-ant-...
12
- # GEMINI_API_KEY=...
13
- # DEEPSEEK_API_KEY=...
14
- # OPENROUTER_API_KEY=sk-or-...
15
- # XAI_API_KEY=...
16
- # AZURE_API_KEY=...
17
- # AZURE_BASE_URL=https://your-resource.openai.azure.com/...
18
- # OLLAMA_BASE_URL=http://localhost:11434/v1
19
- # VLLM_BASE_URL=http://localhost:8000/v1
20
-
21
- # OPTIONAL: Server settings
22
- # PORT=8080
23
- # BASE_PATH=/
24
- # STORAGE_TYPE=sqlite
25
- # METRICS_ENABLED=false
26
-
27
- # OPTIONAL: Redis (for response cache)
28
- # REDIS_URL=redis://localhost:6379
29
- # RESPONSE_CACHE_SIMPLE_ENABLED=true
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
@@ -1,22 +1,8 @@
1
1
  <p align="center">
2
- <svg viewBox="0 0 32 32" width="96" height="96" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <path d="M4 20 C8 12, 14 10, 16 16 C18 22, 24 20, 28 12" stroke="#6AD87A" stroke-width="1.8" stroke-linecap="round" fill="none" opacity="0.5" stroke-dasharray="40" stroke-dashoffset="40">
4
- <animate attributeName="stroke-dashoffset" from="40" to="0" dur="1.8s" fill="freeze"/>
5
- </path>
6
- <path d="M2 24 C8 14, 14 8, 16 18 C18 28, 24 22, 30 14" stroke="#6AD87A" stroke-width="1.8" stroke-linecap="round" fill="none" opacity="0.35" stroke-dasharray="50" stroke-dashoffset="50">
7
- <animate attributeName="stroke-dashoffset" from="50" to="0" dur="2.2s" begin="0.3s" fill="freeze"/>
8
- </path>
9
- <path d="M6 16 C10 10, 14 12, 16 14 C18 16, 22 14, 26 10" stroke="#6AD87A" stroke-width="1.8" stroke-linecap="round" fill="none" opacity="0.65" stroke-dasharray="35" stroke-dashoffset="35">
10
- <animate attributeName="stroke-dashoffset" from="35" to="0" dur="1.6s" begin="0.6s" fill="freeze"/>
11
- </path>
12
- <circle cx="16" cy="16" r="2.2" fill="#6AD87A">
13
- <animate attributeName="opacity" values="1;0.5;1" dur="2.5s" repeatCount="indefinite"/>
14
- <animate attributeName="r" values="2.2;2.8;2.2" dur="2.5s" repeatCount="indefinite"/>
15
- </circle>
16
- </svg>
2
+ <img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/aurora-logo-animated.svg" width="96" height="96" alt="Aurora Logo">
17
3
  </p>
18
4
 
19
- <h1 align="center">Aurora Gateway</h1>
5
+ <h1 align="center">Aurora Gateway OSS — Open-Source AI Gateway | OpenAI &amp; Anthropic Compatible API</h1>
20
6
 
21
7
  <p align="center">
22
8
  <a href="LICENSE"><img src="https://img.shields.io/github/license/aurorallm/aurora" alt="License" height="20"></a>
@@ -26,23 +12,22 @@
26
12
  <a href="https://github.com/aurorallm/aurora"><img src="https://img.shields.io/github/stars/aurorallm/aurora" alt="GitHub Stars" height="20"></a>
27
13
  <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
14
  <img src="https://img.shields.io/docker/pulls/aurorahq/aurora" alt="Docker Pulls" height="20">
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>
15
+ <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>
30
16
  </p>
31
17
 
32
- ## One gateway. Every provider. Open source.
18
+ <p align="center"><b>Open-source LLM gateway (OSS edition). One API for every AI provider.</b></p>
33
19
 
34
- Route AI traffic through a single OpenAI- and Anthropic-compatible API.
35
- Self-hosted. No vendor lock-in. Full source visibility.
20
+ <p align="center">Self-hosted. No vendor lock-in. 30+ LLM providers supported.</p>
36
21
 
37
- <a href="docs/assets/dashboard-overview.png">
38
- <img src="docs/assets/dashboard-overview.png" alt="Aurora dashboard" width="100%">
22
+ <a href="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/dashboard-overview.png">
23
+ <img src="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/dashboard-overview.png" alt="Aurora open-source AI gateway admin dashboard showing provider stats and usage metrics" width="100%">
39
24
  </a>
40
25
 
41
26
  ## Quick Start
42
27
 
43
- **Go from zero to running in under a minute.**
28
+ Start routing AI traffic in 60 seconds.
44
29
 
45
- <img src="./install.gif" alt="Install demo" style="max-width:100%;border-radius:12px;margin:12px 0;">
30
+ <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;">
46
31
 
47
32
  **1. Install Aurora Gateway**
48
33
 
@@ -82,7 +67,39 @@ curl http://localhost:8080/v1/chat/completions \
82
67
 
83
68
  The dashboard is at `http://localhost:8080/admin/dashboard`.
84
69
 
85
- **Setup guides:** [npm](https://www.npmjs.com/package/iaurora) · [Docker](https://hub.docker.com/r/aurorahq/aurora) · [Source](https://github.com/aurorallm/aurora)
70
+ **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)
71
+
72
+ ---
73
+
74
+ ## Kubernetes (Helm)
75
+
76
+ Deploy on any Kubernetes cluster with the [Helm chart](https://github.com/aurorallm/aurora/tree/main/helm).
77
+
78
+ ```bash
79
+ # Quick dev — Groq, no Redis, no auth
80
+ helm install aurora ./helm \
81
+ --namespace aurora --create-namespace \
82
+ --set image.tag=1.0.25 \
83
+ --set providers.groq.apiKey="gsk_your_key_here" \
84
+ --set providers.groq.enabled=true \
85
+ --set redis.enabled=false \
86
+ --set auth.masterKey=""
87
+ ```
88
+
89
+ ```bash
90
+ # Production — multiple providers, auth, Redis
91
+ helm upgrade --install aurora ./helm \
92
+ --namespace aurora --create-namespace \
93
+ --set image.tag=1.0.25 \
94
+ --set auth.masterKey="your-secure-key" \
95
+ --set providers.openai.apiKey="sk-..." \
96
+ --set providers.openai.enabled=true \
97
+ --set providers.anthropic.apiKey="sk-ant-..." \
98
+ --set providers.anthropic.enabled=true \
99
+ --set redis.enabled=true
100
+ ```
101
+
102
+ **Full Helm documentation:** [helm/README.md](https://github.com/aurorallm/aurora/tree/main/helm/README.md)
86
103
 
87
104
  ---
88
105
 
@@ -91,51 +108,23 @@ The dashboard is at `http://localhost:8080/admin/dashboard`.
91
108
  Aurora supports enterprise-grade deployments for teams running production AI systems at scale.
92
109
  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.
93
110
 
94
- The Enterprise edition is a separate distribution with a signed license — it cannot be enabled by editing files in this tree.
111
+ The Enterprise edition is a separate distribution with a signed license.
95
112
 
96
- <a href="./comparison.png">
97
- <img src="./comparison.png" alt="OSS vs Enterprise comparison" width="100%" style="border-radius:12px;margin:16px 0;">
113
+ <a href="https://raw.githubusercontent.com/aurorallm/aurora/main/docs/assets/comparison.png">
114
+ <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;">
98
115
  </a>
99
116
 
100
117
  <div align="center">
101
- <a href="https://discord.com/invite/YJPrfR9uh">
102
- <img src="https://img.shields.io/badge/Contact%20Us-Enterprise-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Contact Us" width="200" style="margin-top:5px;"/>
118
+ <a href="mailto:team.auroragate@gmail.com?subject=Aurora%20Enterprise%20Inquiry" style="display:block;margin-top:5px;">
119
+ <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"/>
103
120
  </a>
104
121
  </div>
105
122
 
106
123
  ---
107
124
 
108
- ## Key Features
109
-
110
- ### Core Infrastructure
111
-
112
- - **Unified Interface** — Single OpenAI- and Anthropic-compatible API for all providers
113
- - **Multi-Provider Support** — 15+ providers auto-discovered from env vars (OpenAI, Anthropic, Gemini, Groq, DeepSeek, and more)
114
- - **Automatic Fallbacks** — Seamless failover with fallback routing and combo models
115
- - **Model Discovery** — Providers and models auto-detected from environment variables
116
-
117
- ### Advanced Features
118
-
119
- - **Admin Dashboard** — Web UI for managing providers, API keys, models, and combos
120
- - **Semantic Caching** — Intelligent response caching based on semantic similarity to reduce costs and latency
121
- - **Anthropic Ingress** — Native Anthropic-format `/v1/messages` endpoint
122
- - **Audit Logging** — Records every request/response with retention
123
- - **Guardrails** — Content safety filters (system prompt, regex, PII redaction)
124
-
125
- ### Developer Experience
126
-
127
- - **Zero-Config Startup** — Start immediately with auto-detected providers
128
- - **Prometheus Metrics** — Go runtime + request metrics at `/metrics`
129
- - **Swagger UI** — Interactive API docs at `/swagger/index.html`
130
- - **SQLite Storage** — Zero-config embedded database, no setup needed
131
- - **CLI Tools** — Admin configuration via CLI commands
132
-
133
- ---
134
125
 
135
126
  ## Repository Structure
136
127
 
137
- Aurora uses a modular architecture for maximum flexibility:
138
-
139
128
  ```text
140
129
  aurora/
141
130
  ├── apps/ # Application entrypoints
package/bin/aurora.exe ADDED
Binary file
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.24",
2
+ "version": "1.0.26",
3
3
  "author": "Aurora Gateway",
4
4
  "license": "Apache-2.0",
5
5
  "files": [