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

Support for parameterised configurations in .gitpod.yml #8252

Open
loujaybee opened this issue Feb 16, 2022 · 3 comments
Open

Support for parameterised configurations in .gitpod.yml #8252

loujaybee opened this issue Feb 16, 2022 · 3 comments
Labels
enhancement feature: gitpod yml All things related to the gitpod.yml feature: mono/meta repo feature: prebuilds meta: never-stale This issue can never become stale

Comments

@loujaybee
Copy link
Member

loujaybee commented Feb 16, 2022

Current Approach

Currently, the way that gitpod works is via one single declarative syntax for a project set up, but, this approach doesn't work well for scenarios where you have (potentially) many different permutations of a given project or setup (e.g. mono-repo's or more advanced projects). Currently, the best way of doing this is via URL parameters or via environment variables that alter the project configuration, in combination with custom scripts and/or a makefile.

Proposal

Allow a given project to specify a number of input parameters (type definitions and optionality) for a project configuration. This feature would then allow the creation of any number of different permutations of a given project (e.g. a matrix), and a project or workspace. Each permutation of the matrix is then treated as it's own "project" configuration e.g. it has it's own pre-build and allows custom start tasks to be configured. A good real example of this is the DrupalPod project, which uses a Chrome extension to specify input parameters, that are passed via URL, and then consumed in scripts to create different set-ups of the project.

Examples

Example of this within DrupalPod, which uses a browser extension form [1].

Similar feature in other products

@loujaybee
Copy link
Member Author

loujaybee commented Apr 13, 2022

How codespaces are looking to support a similar use case: github/roadmap#358 by having support for multiple configurations.

EDIT:
https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#creating-a-custom-dev-container-configuration

@stale
Copy link

stale bot commented Sep 28, 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 28, 2022
@shaal
Copy link
Contributor

shaal commented Sep 28, 2022

Please add meta: never-stale to this issue

@axonasif axonasif added the meta: never-stale This issue can never become stale label Sep 30, 2022
@stale stale bot removed the meta: stale This issue/PR is stale and will be closed soon label Sep 30, 2022
@loujaybee loujaybee changed the title Support for parameterised / matrix configurations in .gitpod.yml Support for parameterised configurations in .gitpod.yml Jan 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement feature: gitpod yml All things related to the gitpod.yml feature: mono/meta repo feature: prebuilds meta: never-stale This issue can never become stale
Projects
None yet
Development

No branches or pull requests

3 participants