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