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:
- OpenShift 3.11 and OpenShift 4.3 and higher, including OpenShift 4.5.
- OpenShift Dedicated 4.3, via the add-ons capability.
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:
- If you are using OpenShift 3.11, you can find installation instructions here.
- If you are using OpenShift 4.x, you can install directly from the OpenShift OperatorHub and follow the documentation here.
- Download the CodeReady Workspaces command-line interface.
- Check out the CodeReady Workspaces product page.