Skip to content

feat: add channel management for LLM API gateway - #187

Merged
hsluoyz merged 1 commit into
apache:masterfrom
BeiBaiNian:feat-channel-1.1
Aug 12, 2026
Merged

feat: add channel management for LLM API gateway#187
hsluoyz merged 1 commit into
apache:masterfrom
BeiBaiNian:feat-channel-1.1

Conversation

@BeiBaiNian

Copy link
Copy Markdown
Contributor

This PR is part of issue #179 "make a UI-first LLM API security gateway". Channel management is the data foundation layer (milestone 1.1) that stores LLM upstream provider credentials (API keys and base URLs) for downstream routing (1.2) and token-based access control (1.3).

What changed

  • Added object/channel.go: Channel data model with owner+name composite primary key, CRUD operations, ApiKey masking, SSRF-protected connectivity testing, and field-level update to prevent concurrent ApiKey overwrites.
  • Added controllers/channel.go: Six API endpoints (get-channels, get-channel, add-channel, update-channel, delete-channel, test-channel) with owner-based tenant isolation and admin cross-owner query support.
  • Added web/src/ChannelListPage.js: Channel list page with create/delete actions.
  • Added web/src/ChannelEditPage.js: Channel edit page with form fields and connectivity test button.
  • Added web/src/backend/ChannelBackend.js: Frontend API client for all six channel endpoints.
  • Modified object/ormer.go: Registered Channel table in createTable().
  • Modified routers/router.go: Registered six channel routes.
  • Modified web/src/App.js: Added Channels menu item and routes.

Verification

  • go build ./... passed.
  • go vet ./... passed (pre-existing unreachable code in service/proxy.go is unrelated).
  • cd web && yarn run build passed (Compiled successfully).
  • MySQL table structure verified: 11 columns matching the Channel struct.
  • SQL CRUD tests: insert, query, duplicate rejection, delete all passed.
  • API: test-channel endpoint returns 200 OK with proper response body.
  • Frontend: Channel list page renders, create/edit/delete/test actions functional.

@hsluoyz
hsluoyz merged commit df64d9c into apache:master Aug 12, 2026
3 checks passed
@BeiBaiNian
BeiBaiNian deleted the feat-channel-1.1 branch August 13, 2026 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants