Repository navigation
chore(release): 1.0.0 - #15
Merged
Merged
Conversation
- images publish only as coyl/ktms-admin; the legacy coyl/llm-proxy-admin repository gets no new releases after 0.4.0 - the Go module, the binary and the console's CSRF header value are named ktms-admin - README names the gateway Keystone. The Model Switchboard. (KTMS); proto synced with ktms main - CHANGELOG 1.0.0
coyl
marked this pull request as draft
October 22, 2026 19:23
Brings the sign-in methods, the ai-process.dev palette and the Apache 2.0 relicense into the release. New packages and tests move to the ktms-admin module path; the 1.0.0 CHANGELOG covers them.
…imits, Tenants and Team
* test: end-to-end run against KTMS and light-tokenmeter main scripts/e2e.sh builds both services from their main branches, turns light-tokenmeter's authentication on, and drives the console's API: health, models, vendor keys, rules, client keys, spend limits, organizations and teams, a playground call through a mock vendor, its usage report, and a token without the read scope shown as refused. It runs on every pull request and daily. * test(e2e): bounded waits, error bodies, pinned pair for PRs, daily main run - Every wait and request is bounded; the job times out after 30 min. - A refused call prints the console's error body; build, clone and setup failures dump logs through fail(). - PRs test the pair in scripts/e2e.refs; a separate daily workflow tests KTMS and light-tokenmeter main. - The revoked key is checked to be disabled; usage is queried from the day before the call; organization creation is checked.
* feat(keys): key policies, per-key spend and prompt-cache prices The Keys page shows each key's policy and its spend against its caps, edits the policy in a dialog and sets rates when minting; team leads do it for their team's keys only. The model editor takes cache read and write prices and the prompt_cache capability. Proto synced from KTMS; the e2e test covers policy and spend and runs against the 1.0 release branches. * fix(keys): key spend from one bounded endpoint; model choices follow the team GET /api/proxy/key-spend reads every visible active key's spend at most eight at a time, with caps from GetSpend, so wildcard caps show and team leads see their keys' spend; an unreadable key says unknown. The policy dialog offers the team's allowed models when it has a list, else the gateway's, else a text field.
* ci: proto/ktms/v1 must match KTMS, and internal/gen the copy A proto job compares the copy with KTMS at the ref the e2e test uses and regenerates internal/gen, so the console's contract cannot drift from the gateway's unnoticed. * ci: whole-directory proto check in a script, pinned plugins, daily main run scripts/proto-check.sh clones KTMS at KTMS_REF or the e2e pair, diffs the whole proto/ktms/v1 directory and regenerates internal/gen from scratch, so added or removed files count. The generator plugins are pinned, and the daily main run checks the protocol too.
…method); e2e refs in README (#26)
coyl
marked this pull request as ready for review
October 23, 2026 18:10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepares ktms-admin 1.0.0, paired with Keystone. The Model Switchboard. (KTMS) 1.0.0 (ai-process/ktms#88). Tag
v1.0.0after both PRs merge.What changes
coyl/ktms-admin.coyl/llm-proxy-adminstays at 0.4.0, and the CHANGELOG tells users to switch.cmd/, the binary in the image and the Makefile targets arektms-admin;ktms-admin; the server and its UI ship together, so nothing outside depends on it;KTMS_ENCRYPTION_KEYS.main. Only the comments changed.main. This brings in the sign-in methods (ktms-admin#16, feat(auth): sign in through an access proxy or Cloudflare Access #17, feat(auth): password sign-in from the configuration #18, feat(auth): any OIDC provider, several at once, and GitHub #20), the ai-process.dev palette (feat(ui): ai-process.dev palette and logo #21) and the Apache 2.0 relicense (chore: relicense under Apache 2.0 #19). The new packages and tests use thektms-adminmodule path, and the test CSRF value isktms-admin.GOOGLE_*deprecation.Kept on purpose
LLM_PROXY_*settings, which still work with a warning until 2.0.examples/compose.yaml, so existing example installs keep their data.Verification
go vetpasses, and so doesgo test -race ./....node --checkpasses on all modules.Synced with main on 2026-10-23: CHANGELOG [1.0.0] now includes the Unreleased entries (dated 2026-10-23; set the date on release day); README has a compatibility table with the other two components.