Skip to content

feat(bot): add repository BYOK providers and setup UI - #453

Merged
AsperforMias merged 21 commits into
mainfrom
feat/bot-byok-20261007
Oct 7, 2026
Merged

AsperforMias merged 21 commits into
mainfrom
feat/bot-byok-20261007

Conversation

@AsperforMias

Copy link
Copy Markdown
Collaborator

Repository admins can now use their own public HTTPS Base URL, API key and model for the GitHub Bot instead of the platform provider. The new AI service tab supports OpenAI-compatible classification/greetings and Jev Decisions classification, saving credentials, testing the saved service and explicitly deleting the key. The public product page includes a BYOK setup entry and matching descriptions in all nine locales.

Credentials are stored only as AES-GCM ciphertext bound to repository, owner, protocol and canonical endpoint. Changing an endpoint/protocol requires a fresh key; transfers, unreadable keys and provider failures disable AI without platform fallback. Model requests validate public DNS and reject redirects. The developer guide documents configuration, API routes, encryption setup and DNS validation limits.

Validation:

  • Bot full suite: 320 passing tests; final admin/API/audit regression: 91 passing tests, including 16 BYOK UI cases.
  • Root typecheck/lint, Astro/router typechecks, Bot typecheck/touched lint and production Worker dry build passed.
  • Actual local Worker/D1 BYOK form completed two real Jev requests: connection test and Dify Issue preview. Preview selected bug at 98%; no GitHub writes or changes to processing settings/jobs/label ownership.
  • Public page: 60 actual browser cases across 9 locales, desktop/mobile and Light/Dark/Auto. Final admin: 24 cases including native keyboard focus clear of the sticky save control.
  • Independent credential isolation, authorization, encryption and endpoint review passed.

Deployment: apply additive 0008_byok.sql before the Bot Worker release. A distinct production BYOK_ENCRYPTION_KEY is already provisioned; the key value is outside the repository and is never returned to clients. Existing repository feature toggles remain opt-in.

History is split into 21 semantic commits, all authored by AsperforMias and SSH-signed. Production verification follows green CI and a linear merge preserving these signatures.

@ghfind-review ghfind-review Bot added the review: high ghfind author score; see https://ghfind.com label Oct 7, 2026
@AsperforMias
AsperforMias merged commit c0666f4 into main Oct 7, 2026
8 checks passed

This branch was previously deployed

1 inactive deployment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review: high ghfind author score; see https://ghfind.com

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant