{"slug": "show-hn-rax-compute-gateway-one-api-for-openai-anthropic-and-gemini", "title": "Show HN: RAX Compute Gateway – One API for OpenAI, Anthropic, and Gemini", "summary": "RAX Compute Gateway v0.2.0, an open-source AI compute gateway providing a single OpenAI-compatible API for OpenAI, Anthropic, and Gemini models, has been released with an operator console, one-command self-hosted quickstart, and a public hosted evaluation. The gateway centralizes routing, authentication, retries, limits, and telemetry, and the release includes signed multi-architecture images, Helm charts, OpenAPI contracts, checksums, SBOM, and provenance. The hosted demo at api.rax-digital.com/demo issues unique API keys that expire after five minutes, limited to one low-cost model, non-streaming calls, small input/output budgets, one concurrent request, per-account cooldown, and a global daily budget.", "body_md": "One API. Every AI model.\n\nRAX Compute Gateway is an open-source AI Compute Gateway. It gives applications one stable, OpenAI-compatible API for multiple model providers while centralizing routing, authentication, retries, limits, and telemetry.\n\n``` php\nApplication -> RAX Compute Gateway -> OpenAI | Anthropic | Gemini | future providers\n```\n\n[RAX Compute Gateway v0.2.0](https://github.com/radium0090/Compute-Gateway/releases/tag/v0.2.0)\nadds the operator console, one-command self-hosted quickstart, and the public,\nabuse-resistant hosted evaluation described below. Release artifacts include a\nsigned multi-architecture image, Helm chart, OpenAPI contract, checksums, SBOM,\nand provenance. The documents in this repository remain normative unless an\naccepted Architecture Decision Record (ADR) supersedes them.\n\n`POST /v1/chat/completions`\n\n, including streaming- OpenAI, Anthropic, and Gemini adapters\n- Stable public model aliases and explicit provider models\n- Deterministic routing, fallback, timeout, and retry policies\n- RAX Compute Gateway API keys and bring-your-own-provider-key (BYOK) operation\n- PostgreSQL metadata, optional Redis coordination, and stateless gateway nodes\n- OpenTelemetry traces and metrics plus structured, redacted logs\n- Docker Compose for local use and Kubernetes manifests/Helm for production\n- TypeScript and Python SDKs generated from the public contract\n\nNon-goals for the original MVP include tool calling and structured outputs, a hosted billing system, a marketplace, GPU scheduling, multimodal generation, and autonomous quality-based model selection. The operator console and hosted evaluation are narrowly scoped post-MVP additions governed by accepted ADRs.\n\nOpen [api.rax-digital.com/demo](https://api.rax-digital.com/demo/), verify with\nGitHub, and copy the generated `curl`\n\n. The complete public path has been\nverified against the production gateway: claim a key, run the command, and\nreceive a normalized model response.\n\nThe service issues a unique API key that expires after five minutes; there is\nno shared public key in this repository. The trial is intentionally limited to\none low-cost model, non-streaming calls, small input/output budgets, one\nconcurrent request, per-account cooldown, and a global daily budget. See\n[hosted demo design and operation](/radium0090/Compute-Gateway/blob/main/docs/demo.md).\n\nThe hosted service is for evaluation only. Applications should self-host or obtain a normal customer key rather than depend on trial availability.\n\nPrerequisites: Docker 26+ with Docker Compose, `curl`\n\n, and an OpenAI API key for\nthe first request. A fork is needed only when contributing code; to try the\ngateway, clone the upstream repository and run one command:\n\n```\ngit clone https://github.com/radium0090/Compute-Gateway.git\ncd Compute-Gateway\nsh scripts/quickstart.sh\n```\n\nThe script creates a private `.env`\n\n, generates local gateway secrets, prompts\nfor the provider key without echoing it, starts PostgreSQL, Redis, telemetry,\nand the gateway, provisions a local client key, and prints the first model\nresponse. It never sends the OpenAI key anywhere except the configured OpenAI\nendpoint. Stop the stack with `docker compose down`\n\n.\n\nA successful run ends with a normalized JSON chat response and a local\n`rcg_dev_...`\n\ncredential shown once. If the provider rejects the final request,\nthe local stack remains running for diagnosis; check provider billing/model\naccess, update `.env`\n\n, and rerun the script.\n\nTo understand or run each operation manually instead:\n\n```\ncp .env.example .env\n# Replace the fake RCG secrets and OPENAI_API_KEY in .env.\ndocker compose up --build --wait\ndocker compose exec postgres psql -U rcg -d compute_gateway -c \\\n  \"INSERT INTO tenants (id, name, status) VALUES ('123e4567-e89b-42d3-a456-426614174000', 'local', 'active') ON CONFLICT DO NOTHING\"\nRCG_API_KEY=\"$(docker compose run --rm gateway keys create \\\n  --tenant-id 123e4567-e89b-42d3-a456-426614174000 \\\n  --name local-app --environment dev --models 'rax/*' --allow-streaming)\"\nexport RCG_API_KEY\ntest -n \"$RCG_API_KEY\"\n```\n\nThe key command emits the new credential once; command substitution keeps it out of the terminal and stores it in the current shell. Keep it out of shell history, source control, logs, and URLs.\n\nCompose supplies PostgreSQL and Redis. Outside production, running the gateway\nwithout `RCG_REDIS_URL`\n\nuses process-local limits and circuit state; every\nproduction replica requires Redis coordination and fails startup if it is not\nconfigured.\n\nSend a request:\n\n```\ncurl http://localhost:8080/v1/chat/completions \\\n  -H \"Authorization: Bearer $RCG_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"rax/fast\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Hello from RAX Compute Gateway\"}]\n  }'\n```\n\nRAX Compute Gateway accepts the OpenAI client by changing its base URL:\n\n``` python\nimport os\n\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=os.environ[\"RCG_API_KEY\"],\n    base_url=\"http://localhost:8080/v1\",\n)\n\nresponse = client.chat.completions.create(\n    model=\"rax/fast\",\n    messages=[{\"role\": \"user\", \"content\": \"Hello\"}],\n)\n```\n\nSet `RCG_ADMIN_ENABLED=true`\n\n, configure the exact `RCG_ADMIN_ORIGIN`\n\n, and use a\ndedicated `RCG_ADMIN_SESSION_PEPPER`\n\n. After migrations, create the first\nadministrator with a temporary password supplied on standard input:\n\n```\nprintf '%s\\n' \"$RCG_ADMIN_TEMPORARY_PASSWORD\" | docker compose run --rm -T gateway \\\n  admins create --email owner@example.com --display-name 'Gateway Owner'\n```\n\nOpen `http://localhost:8080/admin/`\n\n. The temporary password must be replaced at\nfirst login. The console manages tenants and one-time-display API keys and\nshows bounded service/activity metadata. It never exposes provider credentials,\npassword/session hashes, API-key hashes, prompts, or completions.\n\nRunnable [curl, Node.js, and Python examples](/radium0090/Compute-Gateway/blob/main/examples/README.md) are included\nfor a locally running gateway.\n\n[Vision](/radium0090/Compute-Gateway/blob/main/docs/vision.md)[MVP specification](/radium0090/Compute-Gateway/blob/main/docs/mvp.md)[Architecture](/radium0090/Compute-Gateway/blob/main/docs/architecture.md)[Repository layout](/radium0090/Compute-Gateway/blob/main/docs/folder.md)[Roadmap](/radium0090/Compute-Gateway/blob/main/docs/roadmap.md)[Implementation status and known gaps](/radium0090/Compute-Gateway/blob/main/docs/implementation-status.md)\n\n[Deployment](/radium0090/Compute-Gateway/blob/main/docs/deployment.md)[Docker](/radium0090/Compute-Gateway/blob/main/docs/docker.md)[Kubernetes](/radium0090/Compute-Gateway/blob/main/docs/kubernetes.md)[Database](/radium0090/Compute-Gateway/blob/main/docs/database.md)[Security](/radium0090/Compute-Gateway/blob/main/docs/security.md)[Observability](/radium0090/Compute-Gateway/blob/main/docs/observability.md)[CI/CD](/radium0090/Compute-Gateway/blob/main/docs/ci-cd.md)[GitHub Actions](/radium0090/Compute-Gateway/blob/main/docs/github-actions.md)[Release-candidate runbook](/radium0090/Compute-Gateway/blob/main/docs/runbooks/release-candidate.md)[v0.1.0 RC evidence template](/radium0090/Compute-Gateway/blob/main/docs/releases/0.1.0-rc.md)[Rollback runbook](/radium0090/Compute-Gateway/blob/main/docs/runbooks/rollback.md)[Incident response](/radium0090/Compute-Gateway/blob/main/docs/runbooks/incident-response.md)[Security reporting](/radium0090/Compute-Gateway/blob/main/SECURITY.md)\n\nThe keywords **MUST**, **MUST NOT**, **SHOULD**, and **MAY** are used as defined\nby RFC 2119. Implementation work should follow this precedence order:\n\n- Accepted ADRs\n- API and security contracts\n- MVP acceptance criteria\n- Architecture and operational guidance\n- Roadmap ideas\n\nIf documents conflict, open an issue and resolve it with an ADR before merging behavior that changes the public contract.\n\nUse GitHub Issues for bugs and scoped features, Discussions for questions and\ndesign exploration, and pull requests for reviewed changes. Please read\n[CONTRIBUTING](/radium0090/Compute-Gateway/blob/main/docs/contributing.md) before submitting code.\n\nYou do not need to fork merely to run the gateway. To contribute, first\n[fork the repository](https://github.com/radium0090/Compute-Gateway/fork), clone\nyour fork, create a feature branch, and open a pull request as described in the\ncontribution guide.\n\nThe project is licensed under Apache License 2.0. See\n[licensing.md](/radium0090/Compute-Gateway/blob/main/docs/licensing.md) for dependency and contribution rules.", "url": "https://wpnews.pro/news/show-hn-rax-compute-gateway-one-api-for-openai-anthropic-and-gemini", "canonical_source": "https://github.com/radium0090/Compute-Gateway", "published_at": "2026-08-17 07:21:37+00:00", "updated_at": "2026-08-17 07:40:57.436634+00:00", "lang": "en", "topics": ["ai-infrastructure", "developer-tools", "ai-products"], "entities": ["RAX Compute Gateway", "OpenAI", "Anthropic", "Gemini", "RAX Digital", "GitHub", "Docker", "PostgreSQL"], "alternates": {"html": "https://wpnews.pro/news/show-hn-rax-compute-gateway-one-api-for-openai-anthropic-and-gemini", "markdown": "https://wpnews.pro/news/show-hn-rax-compute-gateway-one-api-for-openai-anthropic-and-gemini.md", "text": "https://wpnews.pro/news/show-hn-rax-compute-gateway-one-api-for-openai-anthropic-and-gemini.txt", "jsonld": "https://wpnews.pro/news/show-hn-rax-compute-gateway-one-api-for-openai-anthropic-and-gemini.jsonld"}}