Skip to content

Cloud Shell Che Workspace #15434

@l0rd

Description

@l0rd

This epic is about the technical work needed to implement a cloud shell component that would be used on OpenShift Console:

image

Using the DevWorkspace CRD

The cloud shell should use the DevWorkspace CRD that is described in #15425

image

Using a new CheEditor

A Theia based Che workspace is a waste of compute resources if used only to get a terminal. And it takes way too long to bootstrap. So the idea is to implement an alternative cheEditor and a cloud shell workspace could be defined using the following devfile:

 ---
apiVersion: 1.0.0
components:
- type: cheEditor
  id: redhat/cloud-shell/latest
- type: dockerimage
 image: quay.io/eclipse/openshift-tooling:latest

Other considerations

  • Exec denial: exec into the pod should be denied for any user other than the owner
  • Auth: The terminal service should be secured using OpenShift OAuth and RBAC
  • Autoscale to zero: After a few minute of inactivity cloud shell pods should be deleted

Subtasks

Timeline

2020-03-31 (Che v7.11.0)

2020-04-20 (Che v7.12.0)

  • Solve the problem with the OpenShift OAuth Proxy: how can we avoid to re-authenticate users? Is it possible to use the existing Console Proxy? And avoid the creation of a route per cloud shell?
  • Release the first version of the che-workspace-operator based on the devworkspace-api (there is no need to publish to the Operator Hub yet) and that includes the solution proved to work in the previous iteration.

2020-05-12 (Che v7.13.0)

2020-06-02 (Che v7.13.0)

  • Include the build of the che-workspace-operator and devworkspace-api in the CRW build
  • Publish the cloud shell operator on the Operator Hub
  • Include the CloudShell e2e happy path test in the QE team CRW release validation check CloudShell Happy Path Test #16667
  • [OPTIONAL] Add a che property to switch using the DevWorkspace API instead of the Kubernetes infrastructure to create Devfile based Che workspaces. That will allow to start testing the creation of DevWorkspaces using the Che dashboard and other wsmaster clients.

2020-06-18

  • OpenShift 4.5 is release with CloudShell support based on DevWorkspace operator.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/epicA long-lived, PM-driven feature request. Must include a checklist of items that must be completed.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions