Alayra Nexus v1.1.0 — Teams & Budgets, Observability, and an Important Install Fix
The first feature release since launch — and an important one to upgrade to.
⚠️ Important fix — fresh installs
v1.0.0's startup migration step silently applied nothing, so a fresh docker run against an empty database got no tables. v1.1.0 fixes the migration pipeline: the container now provisions and upgrades the database correctly at startup. If you deployed v1.0.0, upgrade to :1.1.0; existing databases created by the old path baseline once — see the CHANGELOG.
👥 Teams & budget caps
Group scoped access keys into teams and give each a USD budget per day, week, or month — enforced before a request ever reaches a provider:
- Over budget →
429with current spend, the cap, and aRetry-Afterfor the window reset. - Suspended team →
403immediately. - Spend is seeded from your real usage history, so a cap set mid-month starts from actual spend — and survives a Redis restart.
- Keys without a team behave exactly as before. Manage it all via
GET/POST/PATCH/DELETE /admin/teams.
📊 Observability
- Prometheus
/metrics— request rate & latency by outcome and tier, upstream time-to-first-byte, tokens, prompt-cache hit rate, per-provider error rates, pool utilization, process metrics. Auth-guarded viaMETRICS_TOKEN(never world-readable), exempt from rate limiting. - OpenTelemetry (optional) — the gateway→provider call is traced when you attach an OTel SDK; zero overhead otherwise.
🔌 Connect your tools
New README guide with copy-paste setup for Cursor, Cline / Roo Code, Continue.dev, the OpenAI SDK (Python & Node), and curl.
🚀 Upgrade / install
docker run -d --name alayra-nexus -p 3000:3000 \
-e DATABASE_URL="postgresql://user:pass@host:5432/nexus" \
-e REDIS_URL="redis://host:6379" \
-e MASTER_ENCRYPTION_KEY="$(openssl rand -hex 32)" \
-e ADMIN_PASSWORD="change-me" \
ghcr.io/alayra-systems-pvt-limited/alayra-nexus:1.1.0
Or docker compose up -d from a clone. Full details: CHANGELOG.md