Red Hat CodeReady Workspaces logo

Based on Eclipse Che, Red Hat CodeReady Workspaces (CRW) is a Red Hat OpenShift-native developer environment that supports cloud-native development. CodeReady Workspaces 2.3 is now available. For this release, we focused on improving CRW's configuration options, updating to the latest versions of IDE plugins, and adding new devfiles.

CodeReady Workspaces 2.3 is available on:

Two ways to inject secrets into workspaces

Starting with CodeReady Workspaces 2.3, you can automatically mount encrypted Kubernetes secrets that contain sensitive information such as user names, passwords, and authentication tokens into workspace containers. To mount these secrets, you have to create them in OpenShift namespaces, where your workspace containers are created. Let us consider the two mechanisms for mounting secrets to their workspaces: mounting secrets as environment variables, and mounting secrets in a file.

Mounting secrets as environment variables

The following YAML file contains two secrets, which are associated with the FIRST_ENV_VAR and SECOND_ENV_VAR environment variables. These environment variables are set with the values of myvalue1 and myvalue2, respectively. Once set, the variables will reside inside of a container named maven in all of the workspaces that are created in the same OpenShift namespace as this YAML file:

apiVersion: v1
kind: Secret
metadata:
  name: mvn-settings-secret
  annotations:
    che.eclipse.org/target-container: maven
    che.eclipse.org/mount-as: env
    che.eclipse.org/firstkey_env-name: FIRST_ENV_VAR
    che.eclipse.org/secondkey_env-name: SECOND_ENV_VAR
  labels:
   …
data:
  firstkey: myvalue1
  secondkey: myvalue2

Mounting secrets in a file

The next sample file shows a secret that is mounted in a file called settings.xml. The file is available to a container named maven in all of the workspaces that are created in the same OpenShift namespace as this YAML file:

apiVersion: v1
kind: Secret
metadata:
  name: mvn-settings-secret
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: workspace-secret
  annotations:
    che.eclipse.org/target-container: maven
    che.eclipse.org/mount-path: /home/user/.m2/
    che.eclipse.org/mount-as: file
    che.eclipse.org/automount-workspace-secret: true

data:
  settings.xml: __<base64 encoded data content here>__

OpenShift cluster-wide proxy support

When you enable OpenShift with a cluster-wide egress proxy, CodeReady Workspaces now automatically honors that proxy for communication across its components and external services.

Experimental workspace storage setting

You can now set the CheCluster custom resource configuration property CHE_WORKSPACE_STORAGE_AVAILABLE_TYPES with an experimental value of async. This value provides a blend of ephemeral and persistent storage. It allows for faster I/O and retains workspace changes.

Improved reliability for terminal connections

We improved CodeReady Workspaces to prevent failed task execution due to the disposal of terminal connections.

Devfile updates

We updated the set of devfiles provided with CodeReady Workspaces for more recent versions of runtime images and stacks.

Look for a new devfile with Red Hat JBoss Enterprise Application Platform (JBoss EAP) XP 1.0, OpenJDK 11, and Maven 3.5. Wherever possible, we migrated the Java-based devfiles to JDK 11. (JBoss EAP is not included with these unless it is required.) We also updated the commands within devfiles with numbers that reflect the recommended sequence of their execution.

IDE plugin updates

We updated various IDE plugins provided with CodeReady Workspaces for their newer versions. Plugins for Java language support, application dependency analytics, project initializer, Quarkus language support, and Sonarlint have all been updated.

Get CodeReady Workspaces 2.3

CodeReady Workspaces 2.3 is available now on OpenShift 3.11 and OpenShift 4.x:

Last updated: March 30, 2023