Che at EclipseCon 2019 Part 4 — CRD, Kuksa, Quarkus and the Che & Theia Contributor Summit

Sun S. D. Tan
Eclipse Che Blog
Published in
6 min readOct 20, 2019

Hi all,

This is the last part of the series of blog posts about Che at EclipseCon 2019. I have been trying, during these last weeks, to get you at Ludwigsburg and EclipseCon … before EclipseCon. I hope you have enjoyed meeting some of the speakers. A special thanks to Jonas, Roland and Rainer for your participation! We are eager to see your talks at EclipseCon.

Now I have only few time to share with you the other interesting remaining Che talks and people.

Che & Theia Contributor Summit

Before EclipseCon, on Monday, as part of the Eclipse Community Day, we have our Che & Theia Contributor Summit. The Eclipse Che & Theia Contributor Summit brings together core developers, plug-in and extension developers, users of Eclipse Che and Eclipse Theia, and people enthusiastic about cloud development tools.

Our organizers, Martha Benitez (Red Hat), Tim deBoer (IBM) and Sven Efftinge (TypeFox) had selected for us a great agenda: Theia and Che roadmaps and how products like Codewind, SAP WebIDE, Trace Compass have started their move to Theia or Che.

EclipseCon Meet and Greet

The Eclipse Community Day will finish with a Meet and Greet. The Meet and Greet is open to anyone coming to Eclipse Community Day or EclipseCon 2019. So if you arrive on Monday, come by to meet (and greet) us: https://www.eclipsecon.org/europe2019/meet-greet

Meet the Kuksa team at the Eclipse Iot playground

Che will also be at the EclipseCon Kuksa Rover Iot playground. Philipp Heisig, from Dortmund — University of Applied Sciences and Arts, will be there as a EclipseCon first timer and will show demos using Che:

Eclipse Kuksa

Phillipp: I’m really excited to join the different talks to get valuable insights into the technology as we’re working quite a lot with Eclipse projects, especially with the IoT related projects. Furthermore, it will be really helpful to get in personal contact with the community.

We used Eclipse Che for some teaching courses at our university and also considered it as an easy to use IDE for the Kuksa project (https://www.eclipse.org/kuksa/). Therefore, we created a plugin for Eclipse Che 6 that integrated a stack for Automotive Grade Linux (cf. https://gitlab-pages.idial.institute/pedro.cuadrachamorro/kuksa-ide/). Currently, we’re working on a new extension for Eclipse Che 7, which will allow us to realize an end-to-end process from the IDE via an Appstore/device management to the vehicle. Basically, the extension should allow the user to enter different config parameters into a webview-based UI and then different scripts are triggered for publishing the software within an Appstore:

Kuksa IDE based on Che

Don’t hesitate to ask Phillipp for a Che demo at the playground!

Eclipse Che booth

Eclipse Che Booth

Yes, we will have our dedicated booth where you can get more informations about Che7. Don’t hesitate to tell us what you think about Che7. We will be there to show you great Che7 demos and share our love to Che.

David Festal: create a Che workspace with $ kubectl new workspace

$ kubectl new workspace …. You would love to do that, right ? Well, we are not that far from being able to create a Che workspace with just a kubectl command.

At first, I thought David’s talk was about presenting how the current Che operator is working … but:

David: No, this is not exactly that. I will show how, with Kubernetes CRD and operators, we can start a Che workspace without any Che server: a kind of Che serverless. Just with an operator that would create K8S objects for a Che workspace from a `workspace` Custom Resource containing the description of the workspace as a devfile.

Basically, the goal is to show a preview of a way to migrate full-blown multi-tenant Che server to a simple operator. It would allow to start standalone Che workspaces and so on …

Sun: great so we could do something like ‘kubectl new workspace’ ?

David: Exactly, to be precise `kubectl apply -f workspace.yaml`

Sun: And I have heard that you were using Quarkus (my favorite Java framework). Could you tell us more about it ?

David: Che-Theia needs to receive information about the workspace runtime from the Che server through the CHE_API endpoint

But .. there is no more Che server!

However the operator is able to rebuild the description of the runtime and once the workspace custom resource has been reconciled by the operator, the operator adds the json of the runtime in its status field.

The small and tiny Quarkus container is only reading the devfile and the runtime and expose that to the getWorkspace endpoint.

This is a minimal implementation of the Che Workspace API.

Florent Benoit: VSCode extension to Che

In all the interviews, when I ask what is the best features of Che7, being able to run a VSCode extension ‘out of the container’ is always one of the prefered Che7 features.

Yes, Che7 supports VSCode extensions thanks to the Che and Theia teams who worked hard to make that compatibility layer. It means that you could run any of the VSCode extensions coming from the VSCode marketplace. However, there is a slight difference when you run it in Che: A Che plugin is composed of VSCode extensions and a sidecar container that provides all the system dependencies needed by the VSCode extensions. For instance, if you install the Che Java plugin, you won’t have to install Maven, the JDK and so on, it is provided by the Che plugin’s sidecar container.

During his talk, Florent will explain us how to package a VSCode extension to a Che plugin. If you are looking for a new feature for your favorite Cloud IDE, it may be already available.

Quarkus. Supersonic. Subatomic. Java.

Quarkus Developer Joy

My talk about Che and Quarkus will be one of the last talks on Thursday. I count on you to come to support me (you can come with all your luggage), pray the demo gods and see a great demo with Che and Quarkus. Quarkus is just the greatest Java framework to write Cloud Native, Microservices and Serverless apps.

When it is to run Quarkus devmode, it is easy to do it with any IDE: you just need a plain Java developer environment. But sometimes, you want to go further and still stay in the innerloop. You want to try and test as closed as what you would get in your production environment without having to push anything to git. This is especially true for the Quarkus native compilation and when you would try to run the native Quarkus binary on a real production container. This is where the Che magic happens…

During this talk, I will show you how magic it is to develop on a Quarkus app with Che. I will share why I love Che7 and why you will love using Che for your daily developer coding time.

tearDown();

To finish, I wish you to have a great EclipseCon 2019 and safe travels. I would like to thank again all the people who helped me to write these blog posts: speakers I had interviewed and my dear Red Hat colleagues :) … and you of course!

I hope you have enjoyed reading these articles and I am looking forward to seeing you at Ludwigsburg!

Get Involved!

Quick Start with Eclipse Che.

Join the community:

  • Support: You can ask questions, report bugs, and request features using GitHub issues.
  • Public Chat: Join the public eclipse-che Mattermost channel to discuss with community and contributors.
  • Weekly Meetings: Join us in our Che community meeting every second monday.
  • Mailing list: che-dev@eclipse.org

--

--

Sun S. D. Tan
Eclipse Che Blog

Senior Software Engineer @RedHat (tiny unit within @ibm) Eclipse Che committer. OpenSource Minded. @parisjug team leader