reloopsh/be-api-key

By reloopsh

Updated 7 days ago

API Key lifecycle management service — create, rotate, enable/disable, and validate keys.

Image
API management
Web servers
0

3.9K

reloopsh/be-api-key repository overview

🔑 Reloop — API Key Service

The API Key Service is a dedicated microservice in the Reloop platform responsible for the full lifecycle management of API keys. It provides a secure, high-performance REST API for creating, retrieving, updating, rotating, enabling, disabling, and deleting API keys — with built-in rate limiting, expiry handling, and organization-scoped access control.

Built on Bun + Elysia for ultra-low latency, backed by PostgreSQL (via Drizzle ORM) and Redis for caching and rate-limit tracking.


🚀 Features

  • Full Key Lifecycle — Create, read, update, rotate, enable/disable, and delete API keys
  • Organization-scoped — Keys are scoped to organizations with membership validation
  • Rotation Support — Securely rotate keys without downtime
  • Rate Limiting — Built-in per-key rate limit enforcement via Redis
  • Expiry Management — Support for key expiration with clear error signaling
  • OpenAPI Docs — Auto-generated OpenAPI spec at /api/api-key/openapi
  • OpenTelemetry — Full distributed tracing support out of the box
  • NATS Bus — Event-driven integration via the Reloop internal message bus

ResourceLink
📚 Documentationreloop.sh/docs/setup/backend/api-key
🌐 Production APIapi.reloop.sh/api/api-key
📜 OpenAPI Specreloop.sh/api/api-key/openapi
🤖 Agent Discoveryagent-card.json
🐙 Source Codegithub.com/reloop-labs/reloop
💬 Discorddiscord.gg/reloop
🐦 Twitter / X@reloophq
🆘 Supportreloop.sh/support

⚡ Quick Start

docker pull reloopsh/be-api-key:latest

docker run -d \
  -p 8012:8012 \
  -e PG_URL=postgresql://user:password@host:5432/reloop \
  -e REDIS_URL=redis://:password@host:6379 \
  -e NATS_URL=nats://host:4222 \
  -e BASE_URL=https://your-domain.com \
  reloopsh/be-api-key:latest

The service will be available at http://localhost:8012/api/api-key.


🔧 Environment Variables

VariableDefaultDescription
PORT8012Port the server listens on
PG_URLPostgreSQL connection string
REDIS_URLRedis connection string
NATS_URLNATS messaging server URL
BASE_URLPublic base URL of the platform
NODE_ENVproductionRuntime environment

🛠 Tech Stack

  • Runtime: Bun
  • Framework: Elysia
  • Database: PostgreSQL via Drizzle ORM
  • Cache / Rate Limiting: Redis
  • Messaging: NATS
  • Observability: OpenTelemetry (OTLP)

📦 Part of the Reloop Platform

This image is one of several microservices that make up the Reloop backend. See the full list at hub.docker.com/u/reloopsh.

Tag summary

Content type

Image

Digest

sha256:7c45b6158

Size

246.6 MB

Last updated

7 days ago

docker pull reloopsh/be-api-key