mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 04:12:10 +03:00
2 lines
3.3 KiB
JSON
2 lines
3.3 KiB
JSON
{"author":{"id":"MDQ6VXNlcjgwMTY4NDE=","is_bot":false,"login":"diegosouzapw","name":"Diego Rodrigues de Sa e Souza"},"body":"## Summary\n\nImplement a dedicated REST management API with scoped API keys for programmatic OmniRoute configuration. This enables CI/CD integration, infrastructure-as-code workflows, third-party monitoring, and CLI scripting without requiring MCP or the dashboard.\n\n## Origin\n\nThis feature request originates from Discussion #1567 by @shannonlowder — a well-specified proposal for management-scoped API keys and settings endpoints.\n\n## Motivation\n\nWhile OmniRoute already provides programmatic access through the **MCP Server** (29 tools), a dedicated REST API would:\n- Enable CI/CD integration without MCP dependency\n- Support infrastructure-as-code workflows (Terraform, Pulumi)\n- Allow third-party monitoring tool integration\n- Provide CLI scripting for batch operations\n- Lower the barrier for automation (standard HTTP vs MCP protocol)\n\n## Proposed Scope\n\n### Management API Keys\n- Create management-scoped API keys (separate from request proxy keys)\n- Scoped permissions: `providers:read`, `providers:write`, `combos:read`, `combos:write`, `settings:read`, `settings:write`, etc.\n\n### REST Endpoints\n- `GET/POST/PUT/DELETE /api/v1/management/providers` — CRUD for provider connections\n- `GET/POST/PUT/DELETE /api/v1/management/combos` — CRUD for combos\n- `GET/PUT /api/v1/management/settings` — Read/update settings\n- `GET /api/v1/management/health` — Detailed health check\n- `GET /api/v1/management/metrics` — Usage metrics and analytics\n\n### Export/Import\n- `GET /api/v1/management/export` — Full config export (JSON)\n- `POST /api/v1/management/import` — Config import with merge/overwrite options\n\n## Implementation Notes\n\n- Auth: Reuse existing API key infrastructure with added management scope\n- Validation: Zod schemas for all inputs (consistent with existing patterns)\n- DB: All operations through `src/lib/db/` domain modules\n- Audit: Log all management operations to `mcp_audit` or new `management_audit` table\n\n## Labels\n`enhancement`, `api`\n\n---\n*Ref: https://github.com/diegosouzapw/OmniRoute/discussions/1567*","comments":[{"id":"IC_kwDORPf6ys8AAAABA57qAQ","author":{"login":"kilo-code-bot"},"authorAssociation":"NONE","body":"This issue appears to be a duplicate of https://github.com/diegosouzapw/OmniRoute/issues/1568.\n\n> **API-first management for OmniRoute - management-scoped API keys & settings endpoints** (#1568)\n\nSimilarity score: 95%\n\n*This comment was generated by Kilo Auto-Triage.*","createdAt":"2026-04-30T19:55:46Z","includesCreatedEdit":false,"isMinimized":false,"minimizedReason":"","reactionGroups":[],"url":"https://github.com/diegosouzapw/OmniRoute/issues/1833#issuecomment-4355713537","viewerDidAuthor":false}],"createdAt":"2026-04-30T19:55:40Z","labels":[{"id":"LA_kwDORPf6ys8AAAACYAlrLw","name":"enhancement","description":"New feature or request","color":"a2eeef"},{"id":"LA_kwDORPf6ys8AAAACZXajUw","name":"kilo-triaged","description":"Auto-generated label by Kilo","color":"faf74f"},{"id":"LA_kwDORPf6ys8AAAACZ7FLsw","name":"kilo-duplicate","description":"Auto-generated label by Kilo","color":"faf74f"}],"number":1833,"title":"[Feature] API-first Management — REST Endpoints for Programmatic OmniRoute Configuration","url":"https://github.com/diegosouzapw/OmniRoute/issues/1833"}
|