Chapter 6. About the web terminal in the web console You can launch an embedded command line terminal instance in the OpenShift web console. You must first install the Web Terminal Operator to use the web terminal. Note Cluster administrators can access the web terminal in OpenShift Container Platform 4.7 and later. This terminal instance is preinstalled with common CLI tools for interacting with the cluster, such as oc , kubectl , odo , kn , tkn , helm , kubens , subctl , and kubectx . It also has the context of the project you are working on and automatically logs you in using your credentials. Important Web terminal is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information about the support scope of Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview/ . 6.1. Installing the web terminal You can install the web terminal using the Web Terminal Operator listed in the OpenShift Container Platform OperatorHub. When you install the Web Terminal Operator, the custom resource definitions (CRDs) that are required for the command line configuration, such as the DevWorkspace CRD, are automatically installed. The web console creates the required resources when you open the web terminal. Prerequisites Access to an OpenShift Container Platform cluster using an account with cluster-admin permissions. Procedure In the Administrator perspective of the web console, navigate to Operators OperatorHub . Use the Filter by keyword box to search for the Web Terminal Operator in the catalog, and then click the Web Terminal tile. Read the brief description about the Operator on the Web Terminal page, and then click Install . On the Install Operator page, retain the default values for all fields. The alpha option in the Update Channel menu enables installation of the latest release of the Web Terminal Operator. The All namespaces on the cluster option in the Installation Mode menu enables the Operator to watch and be available to all namespaces in the cluster. The openshift-operators option in the Installed Namespace menu installs the Operator in the default openshift-operators namespace. The Automatic option in the Approval Strategy menu ensures that the future upgrades to the Operator are handled automatically by the Operator Lifecycle Manager. Click Install . In the Installed Operators page, click the View operator to verify that the Operator is listed on the Installed Operators page. After the Operator is installed, refresh your page to see the command line terminal icon on the upper right of the console. 6.2. Using the web terminal After the Web Terminal Operator is installed, you can use the web terminal as follows: To launch the web terminal, click the command line terminal icon ( ) on the upper right of the console. A web terminal instance is displayed in the Command line terminal pane. This instance is automatically logged in with your credentials. Select the project where the DevWorkspace CR must be created from the Project drop-down list. By default, the current project is selected. Note The DevWorkspace CR is created only if it does not already exist. The openshift-terminal project is the default project used for cluster administrators. They do not have the option to choose another project. Click Start to initialize the web terminal using the selected project. After the web terminal is initialized, you can use the preinstalled CLI tools like oc , kubectl , odo , kn , tkn , helm , kubens , subctl , and kubectx in the web terminal. 6.3. Uninstalling the web terminal Uninstalling the web terminal is a two-step process: Delete the components and custom resources (CRs) that were added when you installed the Operator. Uninstall the Web Terminal Operator. Uninstalling the Web Terminal Operator does not remove any of its custom resource definitions (CRDs) or managed resources that are created when the Operator is installed. These components must be manually uninstalled for security purposes. Removing these components also allows you to save cluster resources by ensuring that terminals do not idle when the Operator is uninstalled. Prerequisites Access to an OpenShift Container Platform cluster using an account with cluster-admin permissions. 6.3.1. Deleting the web terminal components and custom resources Use the CLI to delete the CRs that are created during installation of the Web Terminal Operator. Procedure Run the following commands to ensure that all DevWorkspace CRs are removed along with their related Kubernetes objects, such as deployments. USD oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait USD oc delete workspaceroutings.controller.devfile.io --all-namespaces --all --wait USD oc delete components.controller.devfile.io --all-namespaces --all --wait Warning If this step is not complete, finalizers make it difficult to fully uninstall the Operator easily. Run the following commands to remove the CRDs: USD oc delete customresourcedefinitions.apiextensions.k8s.io workspaceroutings.controller.devfile.io USD oc delete customresourcedefinitions.apiextensions.k8s.io components.controller.devfile.io USD oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io Remove the DevWorkspace-Webhook-Server deployment: USD oc delete deployment/devworkspace-webhook-server -n openshift-operators Note When you run this and the following steps, you cannot use the oc exec commands to run commands in a container. After you remove the webhooks you will be able to use the oc exec commands again. Run the following commands to remove any lingering services, secrets, and config maps: USD oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server USD oc delete serviceaccounts devworkspace-webhook-server -n openshift-operators USD oc delete configmap devworkspace-controller -n openshift-operators USD oc delete clusterrole devworkspace-webhook-server USD oc delete clusterrolebinding devworkspace-webhook-server Run the following commands to remove mutating or validating webhook configurations: USD oc delete mutatingwebhookconfigurations controller.devfile.io USD oc delete validatingwebhookconfigurations controller.devfile.io 6.3.2. Uninstalling the Operator using the web console Procedure In the Administrator perspective of the web console, navigate to Operators Installed Operators . Scroll the filter list or type a keyword into the Filter by name box to find the Web Terminal Operator. Click the Options menu for the Web Terminal Operator, and then select Uninstall Operator . In the Uninstall Operator confirmation dialog box, click Uninstall to remove the Operator, Operator deployments, and pods from the cluster. The Operator stops running and no longer receives updates.

Commands:
oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait
oc delete workspaceroutings.controller.devfile.io --all-namespaces --all --wait
oc delete components.controller.devfile.io --all-namespaces --all --wait
oc delete customresourcedefinitions.apiextensions.k8s.io workspaceroutings.controller.devfile.io
oc delete customresourcedefinitions.apiextensions.k8s.io components.controller.devfile.io
oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io
oc delete deployment/devworkspace-webhook-server -n openshift-operators
oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server
oc delete serviceaccounts devworkspace-webhook-server -n openshift-operators
oc delete configmap devworkspace-controller -n openshift-operators
oc delete clusterrole devworkspace-webhook-server
oc delete clusterrolebinding devworkspace-webhook-server
oc delete mutatingwebhookconfigurations controller.devfile.io
oc delete validatingwebhookconfigurations controller.devfile.io