Skip to content

Alayra Nexus v1.1.0 — Teams & Budgets, Observability, and an Important Install Fix

Choose a tag to compare

@Kinetic-Ide Kinetic-Ide released this 10 Jul 13:48

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 → 429 with current spend, the cap, and a Retry-After for the window reset.
  • Suspended team → 403 immediately.
  • 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 via METRICS_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