Add devfiles to configure a workspace with GDK

What does this MR do and why?

This MR adds the Devfiles originating from the GDK repository.

This will allow, workspaces to be created from within the monolith repository, for example to facilitate review of a merge request.

For now, the workspace does persist code changes to the monolith, but does not persist database or any other state.

In particular it does - starting from the current "GDK-in-a-Workspace" image - always reconfigure and rebootstrap the underlying GDK, when a workspace is stopped and restarted.

As can be seen in the screen recording / the screenshot below, this takes anywhere from 6 to 10 minutes currently.

Contributes to gitlab-development-kit#2158 (closed)

Screenshots or screen recordings

Screen Recording 2025-07-14 at 11.24.54.mov

Screenshot 2025-07-14 at 11.49.04.png

How to set up and validate locally

  1. Start a workspace from this branch

    Screenshot 2025-07-14 at 11.43.53.png

  2. Open the workspace

  3. As there is currently no visual indication on the frontend, tail -f -v /projects/workspace-logs/poststart-std*.log can be used to track the progress of the post-start script.

  4. When the script indicates it is finished, visit the GDK's GitLab instance in the browser.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Manuel Schönlaub

Merge request reports

Loading