Projects¶
Projects enable the isolation of different teams and their resources. Each project can configure its own backends and control which users have access to it.
While project backends can be configured via
~/.dstack/server/config.yml
, use the control plane UI to fully manage projects, users, and user permissions.
Project backends¶
In addition to ~/.dstack/server/config.yml
,
a global admin or a project admin can configure backends on the project settings page.
Global admins¶
A user can be assigned or unassigned a global admin role on the user account settings page. This can only be done by another global admin.
The global admin role allows a user to manage all projects and users.
Project members¶
A user can be added to a project and assigned or unassigned as a project role on the project settings page.
Project roles¶
- Admin – The project admin role allows a user to manage the project's settings, including backends, gateways, and members.
- Manager – The project manager role allows a user to manage project members. Unlike admins, managers cannot configure backends and gateways.
- User – A user can manage project resources including runs, fleets, and volumes.
Authorization¶
User token¶
Once created, a user is issued a token. This token can be found on the user account settings page.
The token must be used for authentication when logging into the control plane UI and when using the CLI or API.
Setting up the CLI¶
To use the CLI with a specific project, run the dstack config
command with the server address, user token, and project name.
You can find the command on the project’s settings page:
API
In addition to the UI, managing projects, users, and user permissions can also be done via the REST API).