Investigate adding workspace ports to Gitlab Workflow extension

MR: Draft: Workspace ports extension POC (daniyalAD/gitlab-vscode-extension!2 - closed)

Description

With this investigation issue we want to create a POC for extending functionality in the Gitlab Workflow VSCode extension to enable users to manage workspace ports.

The groundwork for enabling this feature in the Workflow extension from the rails side is here: Draft: Workspace ports POC (!174932 - closed)

The extension should present a UI that allows users to create/view/update ports by using the GraphQL endpoints from the MR above.

This investigation should help to clarify questions such as:

  • How do we authenticate/authorize user requests for creating/updating
  • How to communicate state changes of the workspace ports (opening/opened/closing/closed). Any other states we should consider?
  • Will this feature only be enabled in the WebIDE(browser) version of VSCode or Desktop as well?
  • How and where to implement the logic for managing workspace ports through the Gitlab API

Acceptance Criteria

We should have a POC that should be able to enable these through the Gitlab Workflow extension

  • Present a UI for managing ports
  • Authenticate/authorize API requests for workspace_ports
  • View/Create/Update ports through the extension
  • (Optional) Automatically discover new server ports in the workspace and list them in the UI
Edited by Daniyal Arshad