Chapter 2. New features and enhancements
2.1. dsc
binary now available for Mac M1 darwin-arm64 architecture
With this update, the dsc
binary is available for users with a Mac on 64-bit ARM processors such as Apple M1 to connect to an OpenShift instance and deploy or administer Dev Spaces.
Additional resources
2.2. Multiple postStart events
With this update, OpenShift Dev Spaces supports multiple postStart events in devfiles.
Composite commands are currently not supported as postStart events.
Example 2.1. Devfile example with two commands as postStart events
schemaVersion: 2.1.0 metadata: name: multi-post-start components: - name: tools container: image: quay.io/devfile/universal-developer-image commands: - id: first-command exec: component: tools commandLine: "echo first command" - id: second-command exec: component: tools commandLine: "echo second command" events: postStart: - first-command - second-command
Additional resources
2.3. Events tab in the starting workspace screen
This enhancement introduces an Events tab in the Starting workspace screen where you can view live Kubernetes events and troubleshoot workspace startup problems.
Additional resources
2.4. Embedded OpenVSX registry by default
With this update, the default registry for extensions for Microsoft Visual Studio Code - Open Source is the embedded OpenVSX registry, which is included in the devfile registry container. Before this update, the default was the public registry at https://open-vsx.org
.
Administrators have two possible methods for changing this configuration:
-
Set the
CheCluster
object’sspec.components.pluginRegistry.openVSXURL
tohttps://open-vsx.org
or another custom registry. Arrange with your network administrator to configure the corporate proxy to allow access to the URLs required by the online registry. These URLs include, but are not limited to, the following:
- open-vsx.org
- openvsxorg.blob.core.windows.net
vscode-cdn.net
If you build a custom plugin registry using OpenVSX resources, the same proxy rules are required.
Additional resources
2.5. Git configuration automatically retrieves user data
With this update, if your organization uses OAuth or you have set up a personal access token (PAT), Git configuration automatically retrieves the correct user data. This way, you can run git commit
without needing to configure Git first.
This update is not available for Bitbucket servers with a PAT setup.
Additional resources
2.6. OAuth 2.0 support for Bitbucket Server
With this update, OpenShift Dev Spaces supports OAuth 2.0, as well as OAuth 1.0, for Bitbucket Server.
Additional resources
2.7. Changes to default settings in the CheCluster Custom Resource
As of this release, some previously hard-coded values in the CheCluster
Custom Resource have moved to the Operator, so they can be updated automatically when new versions of OpenShift Dev Spaces are released. Default values have also changed in this release, as follows:
-
With the removal of support for Eclipse Theia, the
spec.devEnvironments.defaultEditor
is no longer hard-coded toche-incubator/che-code/latest
. -
The
spec.components.pluginRegistry.openVSXURL
is now set to an empty string (''
), so that the embedded registry is the default instead ofhttps://open-vsx.org
. This ensures that only the supported and included extensions are available to install in workspaces, for better support of airgapped installations. If you want to use the public registry, change this value in yourCheCluster
Custom Resource. -
The
spec.components.dashboard.headerMessage
, which previously contained a warning about Eclipse Theia deprecation and future removal, has been removed. Administrators can still use this field to set a warning message for their users' dashboards if needed. -
To set a limit on the number of workspaces a user can run concurrently, use the new field
spec.devEnvironments.maxNumberOfRunningWorkspacesPerUser
-
The
spec.devEnvironments.defaultComponents.container.image
is now controlled by the Operator so that updates to the UDI container will be available with each update of OpenShift Dev Spaces.
Any Eclipse Theia-based workspaces should still work after updating to OpenShift Dev Spaces 3.6 but will not receive updates. Devfiles associated with those workspaces must be updated to remove the Eclipse Theia configuration and must be migrated to use the Microsoft Visual Studio Code - Open Source configuration instead. If your cluster administrator deletes old images from OpenShift Dev Spaces 3.5 or earlier, these existing workspaces will not start.
Additional resources
2.8. Restarting a workspace with a modified devfile
This enhancement introduces a command Dev Spaces: Restart Workspace from Local Devfile for the Microsoft Visual Studio Code - Open Source editor. You can use this command to update the workspace definition after modifying the devfile in the editor.
Additional resources
2.9. Optimized check for the limit of running workspaces
With this update, the workspace-starting sequence is optimized to start with Checking for the limit of running workspaces. This enhancement saves users time when attempting to start a workspace and exceeding an administrator-configured workspace limit.
Additional resources
2.10. URL parameter for a container image
With this update, you can add an image
parameter for the path to a container image as part of a URL for starting a new workspace in some situations:
- The Git repository contains no devfile, and you want to start a new workspace with this container.
-
The Git repository contains a devfile, and you want this container image to run instead of the first
container
image
listed in thecomponents
section of the devfile.
You can use the following URL syntax with this parameter:
https://devspaces-<openshift_deployment_name>.<domain_name>/f?url=<git_repository_url>&image=<url_to_custom_developer_image>
Additional resources
2.11. Dockerfile build capabilities enabled by default
With this update, Dockerfile build capabilities are enabled by default for new installations. Administrators can opt out of the feature by setting spec.devEnvironments.disableBuildCapabilities
to true
.
This update does not change the value of disableBuildCapabilities
of existing installations.
Additional resources
2.12. Accessing the OpenShift web console from Microsoft Visual Code Studio - Open Source
With this update, a menu item is introduced in Microsoft Visual Code Studio - Open Source to access the OpenShift web console directly from the IDE.
Additional resources
2.13. Starting a workspace from an unsupported Git service
With this update, if the Git service of the repository URL is not supported, you can start a workspace using the default devfile instead. This feature is intended for Git services other than GitHub, GitLab, Bitbucket, and Microsoft Azure Repos.
Additional resources
2.14. Terminal creation command changes in Microsoft Visual Studio Code - Open Source
With this update, the Microsoft Visual Studio Code - Open Source command Create New Terminal to DevWorkspace Container
is renamed to Create New Terminal (Select a Container)
. Additionally, the command is added to the Terminal menu and the terminal context menu.
Additional resources
2.15. Warning if automatic revoke for the Git provider is not available
With this update, a widget is introduced to warn users if automatic revoke for the Git provider is unavailable.
Additional resources
2.16. User container entrypoints not overridden by the IDE at the start
With this update, the IDE starts by attaching a postStart lifecycle handler. User-specified commands are therefore not overridden when you start the IDE.
Additional resources
2.17. Using projected volumes for automount config maps or secrets that use the same mount path
With this update, the DevWorkspace Operator uses projected volumes when multiple automatically mounted config maps or secrets use the same mount path.
Additional resources
2.18. Configuring access mode for automatically mounted config maps and secrets
With this update, the DevWorkspace Operator supports configuring access mode for files automatically mounted from config maps and secrets via an annotation.
Additional resources
2.19. User namespace is added to ~/.kube/config
With this update, the ~/.kube/config
file, which is generated at workspace startup with the user’s credentials, also includes the user’s "namespace"
as a "context"
for possible in-workspace tools that use the Kubernetes API.
Additional resources
2.20. Supported ServiceAccount token volume projection
With this update, administrators can configure the ServiceAccount token mounted in workspace Pods as a projected ServiceAccount token. This enhancement enables administrators to set the audience
, mountPath
, and expirationSeconds
of the token and enables federation such as GCP workload identity federation. Administrators can specify projected tokens properties in a CheCluster
CR:
spec: devEnvironments: serviceAccountTokens: - name: <name> mounthPath: <absolute_path_in_the_container> audience: <audience> expirationSeconds: <positive_integer> path: <path_relative_to_the_mountpath>
Additional resources