Che architecture

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.