Iteration 3: Improve security and usability
## Goal
The goal of this MVC is to construct a minimal change that allows us to:
- Improve security and usability
## Requirements
- https://gitlab.com/groups/gitlab-org/-/epics/9138+ is complete
- https://gitlab.com/groups/gitlab-org/-/epics/9323+ is complete
- https://gitlab.com/groups/gitlab-org/-/epics/9169+ is complete
These are **not** part of the MVC:
- collaboration capabilities such as screen sharing, chat etc.
## Assumptions
* We are allowing for internal feedback and closed/early customer feedback which can be iterated on
* We have explored or are exploring the feasibility of using GA4K with ingresses via https://gitlab.com/gitlab-org/gitlab/-/issues/378998+
* We have explored or are exploring Kata containers for providing root access to workspace users via https://gitlab.com/gitlab-org/gitlab/-/issues/367043+
* We have explored or are exploring how ingress/egress requests cannot be misused from resources within the cluster - https://kubernetes.io/docs/concepts/services-networking/network-policies/ - i.e. security hardening
## Questions
- Do we need additional support for passing secrets, credentials, secure variables?
- What's the length of time someone is willing to wait for a new environment to be created? Do we need an extensive pre-build strategy or is providing a dockerfile in the repository a sufficient solution?
## User Prerequisites
- TBA
## Success criteria
- Add options to create different classes of workspaces(1gb-2cpu, 4gb-8cpu, etc.)
- Add option to vertically scale up workspace resources
- Add option to inject secrets from GitLab user/group/repository
- Add option to configure timeouts of workspaces at multiple levels
- Add option to configure allowing user to expose endpoints in their workspace (e.g. not allow anyone in organisation to expose any endpoint publicly, etc.)
- Add support for using Kata containers for VM isolation and scalability within Remote Development
- Add support for image pre-builds
## User Value
- Integration with the GitLab Workflow extension
- Harden the security aspects of a workspace
- Spin up a workspace on the GDK and develop on `gitlab-org`
- Workspaces provision quickly due to image pre-builds
## Limitations
- TBA
epic