Create Instance-Level and Root-Group-Level Extension Marketplace settings
MR: Pending...
Description
Based on this note and this comment:
Introduce these settings at instance level settings for self-managed customers and at root group level settings for .com customers
- Extension Marketplace: which defines the
extensionMarketplace
settings we give to VSCode when we start up. If this is not set, then we'll show a message in the VSCode Extensions tab like "Extension Marketplace has not been enabled for the GitLab instance. Please contact a GitLab administrator."- Require user opt-in: which is a boolean for whether users of the GitLab instance are required to opt-in to the Extension Marketplace. This is necessary for GDPR when the Extension Marketplace comes from a third party relevant to the GitLab instance. We'll have this setting enabled on
.com
but can be overriden by the root-group administrators. For self-managed instances, GitLab admins might be using an Extension Marketplace which they own and can leave this setting disabled or configure it at the instance level.
Implementation Plan
- The presence of these settings should be behind a feature flag
ide_extension_marketplace
. - We should encapsulate some of the conditions in a module under
lib/gitlab/web_ide
or something like that. - These same settings will be used by Remote Development, so it isn't Web IDE specific.
Edited by Vishal Tak