Epic: Deprecate definitely-gp
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13.8k
- Forks
- 1.4k
- Avg merge
- 17h 58m
- Merged PRs (30d)
- 5
Description
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.
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):
- #9049
- #9050
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.


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
- Note the existence of https://github.com/gitpod-io/definitely-gp/tree/master/kit
- Try to open the workspace at https://gitpod.io/#https://github.com/gitpod-io/kit
For another example see https://gitpod.io/#https://github.com/gitpod-io/book
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with components/server/src/workspace/config-provider.ts, especially the inference and implementation locations linked in the issue, and review the related work in #9049 and #9050. Determine the required deprecation or removal stages based on usage, with done defined as Gitpod no longer depending on definitely-gp for workspace configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100