Che Manager Controller for DevWorkspaces
An experimental operator that enhances Devworkspaces with Che-specific functionality.
This operator brings support for single-host mode into the devworkspace picture. It is in charge of maintaining and configuring the HTTP gateway (using Traefik) that serves as the main entrypoint to the workspaces and dashboard.
It is also in charge of reconfiguring the gateway to route the traffic to workspace endpoints as requested during the workspace startup.
In the future, it is going to be also responsible for authentication of users accessing the Che dashboard and devworkspaces (either in the same executable or separately).
Controllers
There are 2 controllers in this operator. One is in charge of maintaining the state of the Che-specific infrastructure, the other is in charge of exposing the workspace endpoints.
Che Manager Controller
This controller is in charge of the Che-specific infrastructure that is described using the CheManager
custom resource. The resource
describes the desired state of the Che infra - the routing type (singlehost or multihost), the root hostname for the entrypoints, etc.
Workspace Routing Controller
This controller is in charge of exposing the workspace endpoints by reconciling the WorkspaceRouting
objects that are themselves managed
by the main devworkspace operator. For this controller to handle the endpoints of a workspace, the DevWorkspace
object describing the
workspace needs to have the routingClass
property set to che
.
Build
To build the code, just run:
make
There are more things you can do with make
. To figure out what is available, run:
make help