Skip to content

Instantly share code, notes, and snippets.

@ibuziuk
Created September 18, 2025 14:45
Show Gist options
  • Select an option

  • Save ibuziuk/2852ba568ff3467d53c4ccefbcbb2a46 to your computer and use it in GitHub Desktop.

Select an option

Save ibuziuk/2852ba568ff3467d53c4ccefbcbb2a46 to your computer and use it in GitHub Desktop.

Major Enhancements

With this release, the CPU and Memory Limit widgets on the Dashboard have been improved. You can now set CPU and memory limit values directly through input fields in the Advanced Options menu.

cpu_mem_limit

Previously, with the UDI it was not possible to persist /home/tooling/.config files when spec.devEnvironments.persistUserHome is enabled in the CheCluster. With the latest UDI, /home/tooling/.config files will be persisted by creating a symlink from files under /home/tooling/.config to /home/user/.config in the entrypoint of the UDI.

When spec.devEnvironments.persistUserHome In some situations, it can be desirable to have files from /home/tooling/ copied to /home/user/ instead of creating a symlink. This can be useful for dotfiles or configurations, allowing users to edit and have their configurations stored in the persistent volume.

The latest UDI allows specifying which files should be copied via the .copy-files file:

FROM quay.io/devfile/base-developer-image:ubi9-latest
...
RUN echo ".my-config" >> /home/tooling/.copy-files
...

The example above creates in image where the /home/tooling/.my-config file is moved to the /home/user/.my-config in the container entrypoint, effectively copying the file into persistent storage after mounting.

This feature enables external tools such as cert-manager to inject TLS configuration into workspace ingresses/routes. The following fields have been added to the CheCluster CR:

spec:
  devEnvironments:
    networking:
      externalTLSConfig:
        // Enabled determines whether external TLS configuration is used.
        // If set to true, the operator will not set TLS config for ingress/route objects.
        // Instead, it ensures that any custom TLS configuration will not be reverted on synchronization.
        enabled: <bool>
        // Labels to be applied to ingress/route objects when external TLS is enabled.
        labels: <map[string]string>
        // Annotations to be applied to ingress/route objects when external TLS is enabled.
        annotations: <map[string]string>

With this release the Che-managed ConfigMaps:

  • che-editor-settings
  • che-idle-settings
  • che-proxy-settings

created in user namespaces have been combined into one ConfigMap named che-user-settings.

With this release, there is a new spec.devEnrinoments.defaultContainerResources introduced to the CheCluster CR which is used to update the config.workspace.defaultContainerResources field of the Che-owned DevWorkspaceOperatorConfig.

Example CheCluster CR:

spec:
  devEnrinoments:
    defaultContainerResources:
      limits:
        cpu: 200m
        memory: 200Mi
      requests:
        cpu: 100m
        memory: 100Mi

This release adds the ability to specify a branch when launching a workspace from a Git repository using an SSH URL. This provides developers with greater control and flexibility when starting their development environments. Screenshot 2025-09-18 at 10 38 02

Bug Fixes

This release fixes a bug that caused the User Dashboard to render a blank page when any DevWorkspace custom resource in the namespace had an empty spec. Now, even if a DevWorkspace object has an empty spec, the Dashboard will display correctly. 487837381-cce203a8-b060-4758-8aa6-3cec23a51d3e

Previously, the User Dashboard did not support configuring a personal access token when the URL parameter included a port number. This limitation has been fixed in the current release, and personal access tokens can now be configured successfully with URLs that contain port numbers. Screenshot 2025-09-15 at 14 25 04

Previously, the ca-certs-merged ConfigMap was not updated with the correct annotations when the spec.devEnvironments.trustedCerts.disableWorkspaceCaBundleMount field was set to true in the CheCluster CR.

Additionally when the certificates were mounted, the /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem file did not have sufficient permissions to run update-ca-trust.

With this release:

  • The mounted tls-ca-bundle.pem file will now have 0444 permissions
  • When the disableWorkspaceCaBundleMount field is set to true, the ca-certs-merged ConfigMap will have annotations required to mount to /public-certs.

More information about importing untrusted TLS certificates can be found in the official docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment