Eclipse Che 6.15, 6.16, and 6.17 Release Notes

Monitoring and tracing; CORS configuration; update Factory and Containers plugins; New stacks

Dave Neary
Jan 23, 2019 · 6 min read

Happy New Year to everyone from the Eclipse Che community! The development team has been hard at work and we have had three regularly scheduled releases in the last few weeks. Here are the highlights from those releases.

Combined the releases bring a number of improvements to security, monitoring and plugins:

  • Improvements and more metrics for tracing and monitoring
  • New framework for configuring Cross-Origin Resource Sharing (CORS)
  • Updated version of Tomcat for the Che Server
  • New Factory and Container plug-in releases
  • New PostgreSQL + NodeJS stack

Quick Start

Che is a cloud IDE and containerized workspace server — get started on:

Learn more in our documentation and start using a shared Che server or local instance today.

Tracing and Monitoring Improvements

Metrics from the Che server can now be exposed in a format which can be consumed by Prometheus, a powerful and popular monitoring and alerting toolkit for Kubernetes.

To enable this feature, set the environment variable CHE_METRICS_ENABLED=true for the Che deployment. A variety of metrics will then be exposed from the JVM, class loader, and Tomcat server.

We have also added the support for collecting tracing data by deploying Jaeger in the Eclipse Che Helm chart. This gives the Che administrator the ability to get fine-grained information about the state of workspaces on the server.

Since the 6.14 release, Che has exposed tracing data about REST requests made to the workspace master server. This capability has been greatly enhanced in 6.15, with detailed information and reports about the progress of workspace operations, including timings of asynchronous jobs. This enables the server operators to gain more insight into the performance characteristics of the Che server and allows for better troubleshooting.

The Eclipse Che server has been emitting a number of metrics since the 6.15 release. To enable easier visualization of these metrics, the Helm chart for the Che server now also deploys a Prometheus server configured to scrape Che’s metrics and a Grafana server pre-configured with a sample dashboard.

To try it out, install Che’s Helm chart with --set global.metricsEnabled=true.

The Prometheus metrics exposed by the Che server now include the che_workspace_status and che_workspace_failure_total metrics, allowing users to track the count of workspaces per status, and the total number of failed workspaces. Server operators can see when workspaces are failing by using a while tag, which recognizes STARTING, RUNNING or STOPPING values respectively. These new metrics enable operators to proactively identify when there are issues with workspaces.

The /activity REST endpoint for the workspace server can now return a set of workspace IDs that have been in certain state for a certain amount of time, enabling gathering of workspace activity metrics. This information is available only to users with a new monitorSystem permission.

Related Pull Requests:

Preparing for CORS Changes

CORS stands for Cross-Origin Resource Sharing. It is a mechanism which is used to allow one domain to dynamically request resources from another domain in a secure manner. Typically, if a web front-end requests a file from another domain, browsers prevent this access, to keep users safe from cross-site scripting attacks. However, the owner of the website can signal to the browser that certain domains can be accessed from scripts by including a CORS header in the HTTP request.

To prepare for a major change in the handling of CORS in the next release of Che, we added the ability to change CORS configuration through environment variables at deployment time, and to enable testing of configuration which will be compatible with Tomcat 8.5.35.

The environment variables available for configuration are:

  • CHE_CORS_ALLOW__CREDENTIALS - "cors.support.credentials". Default value is 'true'
  • CHE_CORS_ALLOWED__ORIGINS - "cors.allowed.origins". Default value is '*'
  • CHE_CORS_ENABLED - toggle to turn CORS on or off on WS Master. True by default
  • CHE_WSAGENT_CORS_ALLOWED__ORIGINS - This variable can be used to automatically propagate CHE_CORS_ALLOWED__ORIGINS for ws agents. It is created for easier testing of intended configuration.

We upgraded the Eclipse Che Server’s embedded Tomcat version to 8.5.35, which required some changes to our CORS configuration. This change adds some properties to allow communication between the IDE and the workspace agent, while requesting resources from the workspace master.

Related Pull Requests:

New NodeJS and PostgreSQL Stack (6.16)

We added a new stack to support multi-container NodeJS applications using PostgreSQL as the database. To try out this stack, you can use the nodejs-rest-http-crud sample application with the Nodejs and Postgres Stack when creating a new workspace in the user dashboard.

Related Pull Requests:

Use New Factory and Containers Plugins (v6.17)

The Factory and Containers plug-ins for Theia have received updates, and this release of Eclipse Che used the new releases of these plug-ins. The Containers plug-in enables a developer to see a list of containers in a developer workspace, with their status, and provides the ability to open a terminal for a selected container. The Factory plug-in enables Theia to retrieve a factory definition, check out the right branch of the source code, and perform any post-initialization actions once the workspace has been initialized by the Che workspace manager.

We have also evolved the Factory capability of Eclipse Che to use the new devfile format, which is a new and improved way to define a developer workspace for Che and other developer workspace managers.

Related Pull Requests:

161 Improvements

The Che team has made over 160 changes in these three releases, touching every part of the project. It is difficult to do them justice here, you can read the full ChangeLog in the project’s source code repository.

Contributing

The Eclipse Che project is always looking for user feedback and new contributors! Find out how you can get involved and help make Che even better.

Getting Involved

You can reach the Eclipse Che community in a number of ways:

Eclipse Che Blog

News and articles for Eclipse Che - next-generation Eclipse…

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store