Che architecture

Che runs on three groups of components — server components, the DevWorkspace Operator, and user workspaces — that communicate through DevWorkspace custom resources on Kubernetes. Each group has a distinct role in delivering cloud development environments, and Kubernetes RBAC controls access to all resources.

che interacting with devworkspace
Figure 1. High-level Che architecture with the DevWorkspace operator

Che runs on three groups of components:

Che server components

Manage User namespace and workspaces. The main component is the User dashboard, from which users control their workspaces.

DevWorkspace operator

Creates and controls the necessary Kubernetes objects to run User workspaces. Including Pods, Services, and PersistentVolumes.

User workspaces

Container-based development environments, the IDE included.

The role of these Kubernetes features is central:

DevWorkspace Custom Resources

Valid Kubernetes objects representing the User workspaces and manipulated by Che. It is the communication channel for the three groups of components.

Kubernetes role-based access control (RBAC)

Controls access to all resources.