Add devfile for CI runner and registry
What does this merge request do and why?
This MR adds a new devfile, enabling the CI runner and the registry.
This corresponds to one of the use-case profiles that were devised earlier on in the process.
The goal of this is enabling the services and making sure bootstrapping works and the services are enabled thereafter.
How to set up and validate locally
You can try out the change by following these steps:
-
Setup
- Create a workspace from this branch, choosing the new devfile.
- Open the workspace and letting the bootstrap finish.
- Run
sed -i 's/"skipProxy": true,/"skipProxy": false,/g' gitlab/config/vite.jsonto fix the vite issue - Run
gdk reconfigure && gdk restartto apply the change. - Log into the GDK as
root export GITLAB_TOKEN=$(grep "token = " gitlab/db/fixtures/development/25_api_personal_access_token.rb | sed "s/.*'\([^']*\)'.*/\1/")
-
Verify Registry
- Log in to GDK as
root - Log into the registry by doing
docker login $(hostname):5100 -u gitlab-token -p "$GITLAB_TOKEN" docker pull hello-world && docker tag hello-world $(hostname):5100/gitlab-org/gitlab-test/image && docker push $(hostname):5100/gitlab-org/gitlab-test/image- Verify the image is visible in the UI via navigating to
/gitlab-org/gitlab-test/container_registryin your GDK.
- Log in to GDK as
-
Verify Runner
- Log in to GDK and create an instance runner and take note of the token.
- Make sure the token is configured in
./gitlab-runner-config.toml sed -i "/token = /a\ clone_url = \"http://$(hostname -i):3000\"" gitlab-runner-config.toml- From this point onwards do not execute
gdk reconfigureanymore and pay attention that no other action you take removes theclone_urlfrom said file. - Run
gdk restart runner - Verify that the runner exists in GDK via the Admin panel.
- Create a new project in the namespace of the user witith a CI pipeline. I chose the Hugo Template.
- Run a pipeline
Screen Recording 2025-06-13 at 12.13.11.mov
This fixes #2637 (closed), as well as #2638 (closed) giving us one GDK Workspace profile successfully setting up a runner and a registry.
Future iterations to make the runner registration simpler and less error-prone via better integration in GDK should be considered.
Impacted categories
The following categories relate to this merge request:
-
gdk-reliability - e.g. When a GDK action fails to complete. -
gdk-usability - e.g. Improvements or suggestions around how the GDK functions. -
gdk-performance - e.g. When a GDK action is slow or times out.
Merge request checklist
-
This MR references an issue describing the change. -
This change is backward compatible. If not, please include steps to communicate to our users. -
Tests added for new functionality. If not, please raise an issue to follow-up. -
Documentation added/updated, if needed. -
Announcement added, if change is notable. -
gdk doctortest added, if needed.
Edited by Peter Leitzen
