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.

Note

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’s spec.components.pluginRegistry.openVSXURL to https://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.

Important

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 to che-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 of https://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 your CheCluster 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.
Note

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 the components 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.

Note

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

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.