Skip to content

Allow specification of workspace class in project settings #10963

Closed
@Furisto

Description

@Furisto

Is your feature request related to a problem? Please describe

Improve usability of #8261.

Describe the behaviour you'd like

As a user of Gitpod, I would like to specify the workspace class that should be used for the repository in gitpod.yml.

The file would like the following:

workspaceRequirements:
  class: g1-standard

or:

workspaceRequirements:
  class: 
    - g1-standard
    - g2-foo-bar

It should behave as such:

  1. The first workspace class available is used (in prebuilds and regular workspaces).
  2. If no workspace class is set in the .gitpod.yml or those are not available:
    a. On Prebuilds, use the default (g1-standard)
    b. On regular workspaces, use the user preference.

Describe alternatives you've considered

Specify workspace class on a per project basis.

Additional context

Affected components:

  • gitpod-protocol
  • server

Why allow the specification of a list of workspace classes? Workspace classes names and definitions differ between gitpod installations, but the .gitpod.yml is the same for all. As such, we must allow users to define multiple a choose the first one available.

Required actions:

  • Update documentation
  • Talk with @gtsiolis to update the workspace class preferences to include the id, and implement it

Question: Can we have different types (array and string) being processed in the workspaceRequirements.class field? From @WVerlaek: Possible in Go, with a slight workaround: go-yaml/yaml#100

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions