GitLab Workspaces: Support Kubernetes components and global Devfile configuration
## Problem Statement GitLab Workspaces has significant limitations that prevent adoption in enterprise environments with existing infrastructure and standardized development environments: 1. **No Kubernetes component support** - The official Devfile 2.2.0 specification includes `kubernetes` components for mounting existing infrastructure resources (like NFS shares), but GitLab Workspaces doesn't expose this capability. This forces users into workarounds instead of using the standard. 2. **No global Devfile defaults** - Organizations cannot set a global administrator-level default Devfile. Instead, they must either: - Use the limited GitLab global default, or - Add `.devfile.yaml` to every repository (operationally unsustainable at scale) 3. **Limited volume support** - The `volume` component only creates ephemeral storage within the workspace and cannot reference existing infrastructure resources. ## Use Case An organization with 1,500+ repositories and existing NFS infrastructure needs to: - Mount an existing NFS share (e.g., nfs-server:/share at /mnt/name​) into workspace containers - Apply consistent Devfile configuration across all repositories without duplicating the file in each repo - Use the official Devfile standard rather than GitLab-specific workarounds ## Current Limitations - Only `container` and `volume` components are supported in Devfiles - `kubernetes` components are not supported - No mechanism to define NFS-backed volumes or mount external NFS shares through Devfile - No admin-level global Devfile configuration option ## Requested Features 1. **Support for Kubernetes components in Devfiles** - Allow `kubernetes` type components to enable mounting existing infrastructure resources (PersistentVolumes, NFS shares, etc.) 2. **Global Devfile configuration** - Add an administrator-level setting to define a default Devfile that applies across all projects, reducing the need to duplicate configuration in 1,500+ repositories 3. **Enhanced volume support** - Extend the `volume` component to support references to existing infrastructure resources, not just ephemeral storage ## Impact These features would: - Enable GitLab Workspaces to work with existing enterprise infrastructure - Reduce operational overhead for organizations managing many repositories - Align GitLab Workspaces with the official Devfile standard - Significantly improve enterprise adoption of Workspaces
issue