Workspace should start with a vanilla ubuntu image
MR: Pending
PoC MR: Draft: Specify server data directory when start... (gitlab-web-ide-vscode-fork!67 - closed)
Description
We rely on Arbitrary User ID to be able to work around linux group permissions of user/groups on the home directory. Vanilla container images available in "public" by default will not have the home directory writable by the "root" group. This created hurdles for people wanting to try out Remote Development. It increases the barrier.
While some aspects of the Arbitrary User ID are still required for SSH functionality (the dependency would be further reduced once #424737 (comment 1708548117) is completed), the workspace should be able to start correctly even if the home directory is not writable by the root group.
The main process in the workspace startup which depends on the writing in the home directory is the VS Code server that is started. It needs to write some data and if unspecified, it uses the home directory of the user. This can be configured by --server-data-directory
while starting the code server.
Note: When using a plain ubuntu image, VS Code fork will complain, on workspace startup, that git
is not installed and thus the git extension would not be usable.
Acceptance Criteria
-
Workspace starts without any error with a vanilla ubuntu image. -
With a vanilla ubuntu image, there is a warning that git is not installed. -
With an image containing ubuntu + git, workspace starts without any error and the git extension also works fully.
Technical Requirements
TODO: Fill out or delete [If applicable, please list out any technical requirements for this feature/enhancement.]
Design Requirements
TODO: Fill out or delete [If applicable, please provide a link to the design specifications for this feature/enhancement.]
Impact Assessment
TODO: Fill out or delete [Please describe the impact this feature/enhancement will have on the user experience and/or the product as a whole.]
User Story
TODO: Fill out or delete [Provide a user story to illustrate the use case for this feature/enhancement. Include examples to help communicate the intended functionality.]