Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Load Gitpod setup through URL params #3746

Closed
shaal opened this issue Apr 5, 2021 · 12 comments
Closed

Load Gitpod setup through URL params #3746

shaal opened this issue Apr 5, 2021 · 12 comments
Labels
feature: gitpod yml All things related to the gitpod.yml meta: stale This issue/PR is stale and will be closed soon team: IDE team: workspace Issue belongs to the Workspace team type: feature request New feature or request

Comments

@shaal
Copy link
Contributor

shaal commented Apr 5, 2021

Is your proposal related to a problem?

A PHP project that wants to use Gitpod, needs to create that setup, and then reload the workspace, which takes a long time.


Describe the solution you'd like

Load the required Gitpod setup through URL params, adding gp=<repo_url>, for example:
https://gitpod.io/#https://github.com/drupal/drupal&gp=https://github.com/shaal/ddev-gitpod-setup

Gitpod will -

  1. Bring all the files from https://github.com/shaal/ddev-gitpod-setup into the project,
  2. Prebuild image
  3. Open the project in Gitpod

Describe alternatives you've considered

https://github.com/gitpod-io/definitely-gp seems to try solving a similar problem.

  • definitely-gp is a more limited solution because it only includes gitpod.yml and gitpod.Dockerfile
  • It allows only 1 level namespacing
  • It requires submitting PR and waiting for it to be added to definitely-gp official repo.

Additional context

@rfay
Copy link

rfay commented Jun 7, 2021

Important idea.

@geropl
Copy link
Member

geropl commented Jun 8, 2021

AFAIU you described a mechanism that would allow to use "template repos" with Gitpod.

We've just started working on a similar idea which would require the same "primitive": Gitpod config injection.( cmp. design doc)

The idea is to basically have a wizard to streamline the initial repository configuration, without the need to re-start. This can be easily extended to tempalte-repositories as well.

I will close this for now as we seem to have this on our roadmap already. Please re-open if you think it's not the case.

@geropl geropl closed this as completed Jun 8, 2021
@geropl
Copy link
Member

geropl commented Jun 8, 2021

Ah, just found the PR: #4428

@shaal
Copy link
Contributor Author

shaal commented Nov 18, 2021

@geropl by "wizard", did you mean https://gitpod.io/projects ?
The PR you have linked before, is about recreating content of .gitpod.yml through additionalcontent.

This issue is about allowing repos reuse existing (external) .gitpod.yml + .gitpod.Dockerfile setup.

@shaal shaal reopened this Nov 18, 2021
@endocrimes
Copy link

A way to provide external gitpod configuration and dockerfiles would be great - especially when working on larger projects where it isn't always appropriate to commit external tool configuration into the repository.

An example there would be for working on Kubernetes - I have a fork that I work in (and just set up a GitPod workspace for), and can't commit the configuration to (if I want to maintain local master == upstream master).

Currently I can provide an external gitpod.yml via settings, but can't provide a dockerfile through that interface.

Expanding support to an external gitpod config repo would be great for managing and lifecycling that configuration - Plus give me a very convenient way to share the setup with other contributors when helping folks with their first contributions upstream.

@svenefftinge
Copy link
Member

A PHP project that wants to use Gitpod, needs to create that setup, and then reload the workspace, which takes a long time.

I don't quite understand why the configuration needs to sit in another git repository. Can you explain a bit more?

Currently I can provide an external gitpod.yml via settings, but can't provide a dockerfile through that interface.

Yes, Gitpod does allow to setup a project that holds a configuration (currently only the .gitpod.yml). We for sure should allow to author a .gitpod.Dockerfile there as well. Also, a current limitation might be that we require to also install the GitHub App as part of creating a project. I guess this would be a stopper for configuring larger projects like this.

@rfay
Copy link

rfay commented Jan 9, 2022

I don't quite understand why the configuration needs to sit in another git repository. Can you explain a bit more?

The idea is to have a launcher that has gitpod configuration, rather than being intrusive on every single project. A random project (like a web project or something) doesn't need to have gitpod config itself (which also would need to be maintained). Instead, a launcher can launch it with config specified another way. Examples are https://github.com/drud/ddev-gitpod-launcher and https://github.com/shaal/DrupalPod. As you'll note in DrupalPod, the repositories being launched in gitpod are actually temporary forks of random Drupal.org issue repos, and while those could conceivably have gitpod config forced into them, it would just make a mess.

@jcornaz
Copy link

jcornaz commented Mar 3, 2022

I don't quite understand why the configuration needs to sit in another git repository. Can you explain a bit more?

Because it cannot always be in the project repository. For example, as an open-source contributor, I may want to use gitpod, but the project I am contributing to may not want to maintain a gitpod config in their sources.

@loujaybee loujaybee added the type: feature request New feature or request label Mar 9, 2022
@loujaybee
Copy link
Member

loujaybee commented Mar 9, 2022

@loujaybee loujaybee added feature: gitpod yml All things related to the gitpod.yml team: IDE team: workspace Issue belongs to the Workspace team labels Mar 9, 2022
@ibrah3m
Copy link

ibrah3m commented Mar 12, 2022

it will be a better solution if we figure out some way to fork the settings(just like environment ) from some repo made specifically for PHP that contains everything does LARAVEL projects need to get started just like the same way mentioned above.

@cart
Copy link

cart commented Jun 27, 2022

Sadly it looks like #4428 isn't available on the prod instance (I couldn't get it to work and looking at the code, it looks like it is explicitly disabled for gitpod.io urls, which is very disappointing).

additionalcontent would allow Bevy developers to define their own gitpod config without us needing to check it in directly to our repo, which is a concern we have over at Bevy Engine. With additionalconent we could still provide a default config, while also letting users define their own settings.

@stale
Copy link

stale bot commented Sep 26, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the meta: stale This issue/PR is stale and will be closed soon label Sep 26, 2022
@stale stale bot closed this as completed Oct 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: gitpod yml All things related to the gitpod.yml meta: stale This issue/PR is stale and will be closed soon team: IDE team: workspace Issue belongs to the Workspace team type: feature request New feature or request
Projects
None yet
Development

No branches or pull requests

9 participants