Chapter 2. New features and enhancements


2.1. Replication of Secrets, ConfigMaps, and PersistentVolumesClaims in all user namespaces

With this release, the administrator can configure Secrets, ConfigMaps, and PersistentVolumesClaims that will be replicated in the namespaces of all users. You can therefore share certificates, secrets, and configuration files across all the users.

For example, creating the following ConfigMap makes Mavensettings.xml file available in the Container Development Environment (CDE) of all the users:

kind: ConfigMap
apiVersion: v1
metadata:
  name: user-settings-xml
  namespace: {prod-namespace}
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: workspaces-config
  annotations:
    controller.devfile.io/mount-as: subpath
    controller.devfile.io/mount-path: /home/user/.m2
data:
  settings.xml: |
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository>/home/user/.m2/repository</localRepository>
      <interactiveMode>true</interactiveMode>
      <offline>false</offline>
    </settings>

Find more about the procedure in the official documentation.

Additional resources

2.2. Allow pod-overrides for volumes and container-overrides for volumeMounts in Devfiles

With this release, you can use pod and container overrides for volumes and volumeMounts in the Devfile definition.

For example, you can add a CSI volume with the SharedSecret to a pod or container in the Container Development Environment (CDE):

schemaVersion: 2.2.2
attributes:
  controller.devfile.io/storage-type: per-workspace
metadata:
  name: pod-overrides-example
  attributes:
    pod-overrides:
      spec:
        volumes:
          - csi:
              driver: csi.sharedresource.openshift.io
              readOnly: true
              volumeAttributes:
                sharedSecret: my-share
            name: my-csi-volume
components:
- name: workspace
  attributes:
    container-overrides:
      volumeMounts:
        - mountPath: /etc/my-csi-volume
           name: my-csi-volume
           readOnly: true
  container:
    ...

Additional resources

2.3. Prevent starting workspaces based on SSH URLs if no SSH keys are configured

With this release, you can not start workspace based on SSH URLs until you configure the SSH keys in the User Dashboard:

https://github.com/eclipse/che/assets/1461122/6b0f1eba-8184-49fc-8411-9810d762d62b

Additional resources

2.4. Support for running Che-Code in containers based on Red Hat Universal Base Image 9

Previously, the Che-Code editor failed to start in the Red Hat Universal Base Image 9. With this release, this issue is fixed and you can now explicitly reference those images in the components section of a devfile:

schemaVersion: 2.2.2
metadata:
  name: ubi9-minimal-demo
components:
  - name: tools
    container:
      image: registry.access.redhat.com/ubi9-minimal:9.3-1552@sha256:582e18f13291d7c686ec4e6e92d20b24c62ae0fc72767c46f30a69b1a6198055
      args: ['tail', '-f', '/dev/null']
      endpoints:
        - exposure: public
          name: nodejs
          protocol: http
          targetPort: 3000
      memoryLimit: 2Gi
      memoryRequest: 256Mi
      mountSources: true
    attributes:
      controller.devfile.io/merge-contribution: true

Additional resources

2.5. Configuring the number of replicas for operand deployments using HorizontalPodAutoscaler (HPA)

Starting from this release, you can configure the number of replicas for operands using HorizontalPodAutoscaler (HPA):

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: scaler
  namespace: {operator-namespace}
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: __<deployment_name>__
  ...

The <deployment_name> in the snippet above corresponds to one of the following deployments: * che-server * che-gateway * dashboard * plugin-registry * devfile-registry

Find more details about the HPA setup in the official documentation.

Additional resources

2.6. Enabling fuse-overlayfs for Podman in the Cloud Development Environment

By default, the Universal Developer Image (UDI) contains Podman and Buildah which you can use to build and push container images within a Cloud Development Environment (CDE). However, Podman and Buildah in the UDI are configured to use the vfs storage driver which does not provide copy-on-write support. For more efficient image management, you can use the fuse-overlayfs storage driver which supports copy-on-write in rootless environments.

Find more details about fuse-overlayfs configuration in the official documentation.

Additional resources

2.7. Allow overriding the editor’s image through the URL parameter

With this release, you can override the editor’s image using a dedicated URL parameter when starting a Cloud Development Environment. Here are some examples:

  • editor-image=registry.redhat.io/devspaces/code-rhel8
  • che-editor=che-incubator/che-code/latest&editor-image=registry.redhat.io/devspaces/code-rhel8

Find more details about the editor-image URL parameter in the official documentation.

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. Explore our recent updates.

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.