7a76bda4843ecb2e56cff630a2f48de99a25acfd
Resource names are unique per owning principal, so different users can legally create same-name GPU instances, templates, SSH public keys, storage volumes and storage types — but the admin's cross-tenant lists and the instance-create template picker rendered them indistinguishably. - Group the template picker by owning scope: Your Templates, Global Templates, then — admin cross-tenant view only — one group per owner. A single group renders flat without headers. A plugin can take over grouping via hooks.useTemplateOwnerGroups when its principal model scopes templates beyond USER owners; a plugin without the hook keeps the flat list. - Add an admin-only Creator column to the Instances, SSH Public Keys, Storage and Storage Types tables, sitting right before Created (mirroring the API Keys page convention). Resolves creator_id to a username via the user directory, falling back to owner_principal_id for legacy rows — a personal-scope row's creator IS its owner. - Tag template cards with their owner scope (Global / username) for admins. The Creator column and the card tag defer to a plugin that registers the page's list columns / the OwnerScopeTag slot. Requires the gpustack server change that records creator_id on templates, SSH public keys and storage types.
GPUStack UI
UI for GPUStack.
Installation
- Nodejs 16.0+(with NPM)
If you're on Mac
brew install node
npm install -g pnpm
- Setup
git clone https://github.com/gpustack/gpustack-ui/
- Install dependencies
cd gpustack-ui
pnpm install
Usage
- Run development server (at http://localhost:9000)
npm run dev
- build release
npm run build
Bugs & Issues
- Please submit bugs and issues with a label
ui
Links
- Official website: https://gpustack.ai/
- Documents: https://docs.gpustack.ai/latest/overview/
Languages
TypeScript
68.9%
JavaScript
29.4%
Less
1.4%
CSS
0.3%