Understanding Che server

This chapter describes the Che controller and the services that are a part of the controller.

Che server

The workspaces controller manages the container-based development environments: Che workspaces. To secure the development environments with authentication, the deployment is always multiuser and multitenant.

The following diagram shows the different services that are a part of the Che workspaces controller.

che workspaces controllers
Figure 1. Che workspaces controller
Additional resources

Che server

The Che server is the central service of Che server-side components. It is a Java web service exposing an HTTP REST API to manage Che workspaces and users. It is the default workspace engine.

Che user dashboard

The user dashboard is the landing page of Eclipse Che. It is a React application. Che users navigate the user dashboard from their browsers to create, start, and manage Che workspaces.

Che devfile registry

The Che devfile registry is a service that provides a list of Che samples to create ready-to-use workspaces. This list of samples is used in the DashboardCreate Workspace window. The devfile registry runs in a container and can be deployed wherever the user dashboard can connect.

Che plug-in registry

The Che plug-in registry is a service that provides the list of plug-ins and editors for Che workspaces. A devfile only references a plug-in that is published in a Che plug-in registry. It runs in a container and can be deployed wherever Che server connects.

Che and PostgreSQL

The PostgreSQL database is a prerequisite for Che server and Keycloak.

The Che administrator can choose to:

  • Connect Che to an existing PostgreSQL instance.

  • Let the Che deployment start a new dedicated PostgreSQL instance.

Services use the database for the following purposes:

Che server

Persist user configurations such as workspaces metadata and Git credentials.

Keycloak

Persist user information.

Che and Keycloak

Keycloak is a prerequisite to configure Che. The Che administrator can choose to connect Che to an existing Keycloak instance or let the Che deployment start a new dedicated Keycloak instance.

The Che server uses Keycloak as an OpenID Connect (OIDC) provider to authenticate Che users and secure access to Che resources.