Add Cell Manager
What does this merge request do and why?
This MR introduces the ability for developers to manage multiple local cell instances in their existing GDK instance.
Cells are stored in the gitlab-cells/
directory and are fully functional GDK instances. They are managed by the main GDK instance. We use local clones to bootstrap the
Ports are determined in the cells in GDK::CellsPortManager
. This allows the developer to overwrite specific ports but also prevents port clashes (such as #1893 (closed)) by writing the cells.port_offset
automatically from the main GDK instance to cell instances.
Based on !3685 (closed)
How to set up and validate locally
Check out the branch and follow the instructions in doc/howto/cells.md
. Use GDK_SELF_UPDATE=0 gdk update
instead of gdk update
to avoid losing cells functionality.
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 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 doctor
test added, if needed. -
Add the ~highlight
label if this MR should be included in theCHANGELOG.md
.