Platform control plane — REST API, MCP server, OAuth 2.1
- TypeScript 99.8%
- Dockerfile 0.1%
- Shell 0.1%
|
Some checks failed
build-and-deploy / build (push) Failing after 38m26s
Registers list_game_servers, get_game_server_status, get_game_leaderboard tools that query the game-dashboard service for real-time game data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| k8s | ||
| scripts | ||
| src | ||
| .gitignore | ||
| .trigger | ||
| bun.lock | ||
| Dockerfile | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
op-api
Platform control-plane. Serves:
- REST API under
/api/v1/*(Elysia + OpenAPI at/swagger) - OAuth 2.1 authorization server for MCP clients at
/oauth/*and/.well-known/oauth-authorization-server - MCP over streamable HTTP at
POST /mcp
MCP admin tools (create_app, delete_app, create_preview,
delete_preview) provision apps end-to-end: Forgejo repo from system/template,
per-app DB/S3/OAuth, Flux registry entry, initial CI trigger.
Deployed via Forgejo Actions → in-cluster registry → Flux.
bun install
FORGEJO_URL=http://localhost:3000 \
FORGEJO_ADMIN_TOKEN=xxx \
PLATFORM_DOMAIN=espoautos.com \
SERVICE_PREFIX=op- \
bun src/index.ts
REST and MCP auth: Authorization: Bearer <forgejo-token>. Admin tools
require the bearer to belong to a Forgejo site-admin OR a member of the
system org.