Che architecture

che interacting with devworkspace
Figure 1. High-level Che architecture with the Dev Workspace 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.

Dev Workspace operator

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

User workspaces

Container-based development environments, the IDE included.

The role of these Kubernetes features is central:

Dev Workspace 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.