Repository navigation
Releases: ai-process/ktms-admin
Release list
ktms-admin 1.1.2
ktms-admin 1.1.1
Security
- The image is built on Alpine 3.23 with
ca-certificates20261020 or newer, which no longer
trusts the eMudhra intermediates whose keys leaked in October 2026, and with Go 1.27.3.
ktms-admin 1.1.0
Works with every KTMS 1.x release (see Compatibility); KTMS_READ_KEY needs KTMS 1.2.
Added
KTMS_READ_KEY: an optional Keystone key with theadmin:readscope (Keystone 1.2+). Admin API
reads and every call of a viewer go with it; changes keepKTMS_ADMIN_KEY. The sidebar's
health shows whether each key is accepted for its job: the admin key may change Keystone, the
read key may read and nothing more.
Changed
- Tested against KTMS 1.2.0 and light-tokenmeter 1.1.0 (
scripts/e2e.refs); thektms.v1copy
follows KTMS 1.2.0. Every KTMS 1.x release still works.
Image: coyl/ktms-admin:1.1.0 (linux/amd64, linux/arm64), signed with cosign; see SECURITY.md.
ktms-admin 1.0.0
The first stable release, paired with Keystone. The Model Switchboard. (KTMS) 1.0: ktms-admin
1.x works with every KTMS 1.x release (see Compatibility).
Added
TOKENMETER_TOKEN: a light-tokenmeter 1.0 bearer token with thereadscope, for its
authentication. The usage status in the sidebar says "refused" and names the setting when the token
is missing, rejected or lacks the scope;examples/compose.yamlwires tokens through the whole stack.- Password sign-in:
ADMIN_USERSorADMIN_USERS_FILEholdemail:hashentries made by the new
ktms-admin hash-passwordcommand (argon2id; bcrypt fromhtpasswd -nBworks too). Failed attempts
back off per account and per client address. - Any OpenID Connect provider by its generic settings (
OIDC_CLIENT_ID,OIDC_CLIENT_SECRET,OIDC_ISSUER,
OIDC_NAME), several at once throughOIDC_PROVIDERS, and GitHub sign-in (GITHUB_CLIENT_ID,
GITHUB_CLIENT_SECRET,GITHUB_URLfor Enterprise Server). - Sign-in through an access proxy: an e-mail header from
TRUSTED_PROXY_CIDRS(oauth2-proxy, Authelia,
Authentik, Pomerium, Tailscale) or a verified Cloudflare Access token (CF_ACCESS_TEAM_DOMAIN,
CF_ACCESS_AUD). - Key policies on the Keys page: allowed models and requests and tokens per minute, set when minting
or later (team leads for their team's keys), and each key's spend against its caps. - Prompt-cache prices (cached input, cache write) and the
prompt_cachecapability in the model
editor.
Changed
- Google sign-in is optional: configure any of the methods above, alone or together. Sign-in methods
are pluggable adapters behind one core that owns sessions, roles and the sign-in page; Google works as
before, with the same redirect URI. - The console and sign-in page use the ai-process.dev palette and logo. The dark theme runs orange to
yellow on warm near-black, and the light theme has orange accents. Warnings are yellow and errors red,
so they no longer look like the accent; the third chart and rule colour is blue. - The image is published only as
coyl/ktms-admin.coyl/llm-proxy-adminstays at 0.4.0: switch
your deployments to the new name. - The binary and Go module are named
ktms-admin; the console's internal CSRF header value
changed with them (the server and its UI ship together). - The README names the gateway Keystone. The Model Switchboard. (KTMS).
- The license is Apache 2.0, with a
NOTICEfile.
Deprecated
GOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRET: useOIDC_CLIENT_IDandOIDC_CLIENT_SECRET. The old names
keep working with a startup warning and are removed in 2.0.
Fixed
- Sign-in error pages are styled again: the CSP blocked their inline styles.
- A profile picture the CSP blocks no longer shows as a broken image.
v0.4.0: redesigned console
ktms-admin 0.4.0: the redesigned console. Pair it with KTMS 0.14.0.
docker pull coyl/ktms-admin:0.4.0 # also published as coyl/llm-proxy-admin:0.4.0Upgrading from 0.3.x: rename LLM_PROXY_ADDR, LLM_PROXY_ADMIN_KEY and LLM_PROXY_TLS to KTMS_ADDR, KTMS_ADMIN_KEY and KTMS_TLS (the old names still work and log a warning).
Needs KTMS 0.14.0 or later for the tenant and team pages.
Added
- Redesigned console (Preact and htm, no build step): visual rules builder, key wizard with
spend caps, usage with team budgets, light and dark themes. - Organizations and teams, a team workspace, and team-scoped access for team leads and members.
- Spend limits for keys and users.
- Images are signed with keyless cosign and carry an SBOM and provenance.
Changed
- Settings use the KTMS names:
KTMS_ADDR,KTMS_ADMIN_KEY,KTMS_TLS. - The image is published as
coyl/ktms-admin, and still ascoyl/llm-proxy-admin. Images are
built only forv*tags;latestfollows only the newest stable release.
Deprecated
LLM_PROXY_ADDR,LLM_PROXY_ADMIN_KEY,LLM_PROXY_TLS: they keep working with a startup
warning and are removed in 2.0.
v0.3.0 - KTMS ktms.v1 protocol
The console now talks to KTMS over its ktms.v1 protocol (#10).
KTMS 0.13.0 renamed the gRPC services (llmproxy.v1.LLMProxyAdminService → ktms.v1.AdminService, llmproxy.v1.LLMProxyService → ktms.v1.GatewayService). With 0.2.0 every proxy page fails against KTMS 0.13.0 with unknown service.
proto/follows ktms v0.13.0; new fields (rule shadow settings, spend limits, routing details) pass through the console.- Needs KTMS 0.13.0 or later.
- Image:
coyl/llm-proxy-admin:0.3.0(linux/amd64, linux/arm64).
v0.2.0 - Local Nodes & Node Keys Console
Highlights
- Nodes Tab: Real-time overview of connected inference nodes, model rosters, active slot utilization, VRAM usage, and EMA TPS telemetry.
- Node Management: Interactive node draining and node key issuance/revocation via web UI.