Skip to content

Epic: Deprecate definitely-gp  #8473

Open
@jldec

Description

@jldec

Early Gitpod users were given the option of storing their config in https://github.com/gitpod-io/definitely-gp/ instead of in their own repo. This feature is not documented anymore.

Workspaces start by looking for a directory in definitely-gp which matches the repo name, and then use the configuration from that directory. The configuration can include both gitpod.yml and a Dockerfile.

There are several issues with this approach

  • False positive repo name matches result in unexpected errors during workspace initialization e.g. see below.
  • Depending on framework-specific configuration from another Gitpod-owned repo for workspace starts, creates additional maintenance and software supply chain security burdens.
  • References to publicly hosted repos from within Gitpod complicate self-hosted installations on private networks.

See discord discussion

Proposal
Gitpod should deprecate the built-in runtime use of files from definitely-gp for workspace configuration.

A community-driven repo like https://github.com/shaal/awesome-gitpod would be a better way to share best practices of how to configure Gitpod for different frameworks or languages.

If there are significant numbers of repos in use which regulary depend on this capability, we should do this in 2 stages (if the number is small say < 100, we can simply remove the capability immediately):

The length of the deprecation period depends on how heavily used this feature is.

Background

I noticed when opening a repo called kit that the workspace was being initiazlized with pnpm, even though it was configured for npm with a package-lock.json.

  • The repo was not configured for gitpod.
  • No inferred .gitpod.yml was added inside the workspace, making the source of the errors difficult to work out.

Screenshot 2022-02-27 at 22 21 16

Screenshot 2022-02-27 at 22 20 51

A GitHub search revealed that the init and command tasks were probably coming from here: https://github.com/gitpod-io/definitely-gp/blob/master/kit/.gitpod.yml.

From the inference code here and implementation here it appears that opening a workspace on any repo whose name matches a directory in https://github.com/gitpod-io/definitely-gp will attempt to use the configuration from there.

To reproduce

For another example see https://gitpod.io/#https://github.com/gitpod-io/book

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Scheduled

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions