diff --git a/_attributes/common-attributes.adoc b/_attributes/common-attributes.adoc index eadbdf5b58..8028efe9c5 100644 --- a/_attributes/common-attributes.adoc +++ b/_attributes/common-attributes.adoc @@ -179,5 +179,7 @@ endif::[] :ztp: GitOps ZTP :3no: three-node OpenShift :3no-caps: Three-node OpenShift -:web-terminal-op: Web Terminal Operator :run-once-operator: Run Once Duration Override Operator +// Web terminal +:web-terminal-op: Web Terminal Operator +:devworkspace-op: DevWorkspace Operator \ No newline at end of file diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 30d9d4c81e..dcdc3de988 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -760,9 +760,20 @@ Topics: File: dynamic-plug-in-example - Name: Dynamic plugin reference File: dynamic-plug-ins-reference -- Name: Using the web terminal - File: odc-using-web-terminal +- Name: Web terminal + Dir: web_terminal Distros: openshift-enterprise,openshift-online + Topics: + - Name: Installing the web terminal + File: installing-web-terminal + - Name: Configuring the web terminal + File: configuring-web-terminal + - Name: Using the web terminal + File: odc-using-web-terminal + - Name: Troubleshooting the web terminal + File: troubleshooting-web-terminal + - Name: Uninstalling the web terminal + File: uninstalling-web-terminal - Name: Disabling the web console File: disabling-web-console Distros: openshift-enterprise,openshift-origin diff --git a/applications/working_with_helm_charts/configuring-custom-helm-chart-repositories.adoc b/applications/working_with_helm_charts/configuring-custom-helm-chart-repositories.adoc index 436c43e90f..933193d529 100644 --- a/applications/working_with_helm_charts/configuring-custom-helm-chart-repositories.adoc +++ b/applications/working_with_helm_charts/configuring-custom-helm-chart-repositories.adoc @@ -32,7 +32,7 @@ include::modules/odc-creating-helm-releases-using-developer-perspective.adoc[lev == Using Helm in the web terminal -You can use Helm by xref:../../web_console/odc-using-web-terminal.adoc#odc-access-web-terminal_odc-using-web-terminal[Accessing the web terminal] in the *Developer* perspective of the web console. +You can use Helm by xref:../../web_console/web_terminal/odc-using-web-terminal.adoc#odc-access-web-terminal_odc-using-web-terminal[Accessing the web terminal] in the *Developer* perspective of the web console. include::modules/helm-creating-a-custom-helm-chart-on-openshift.adoc[leveloffset=+1] diff --git a/modules/configure-web-terminal-image-admin.adoc b/modules/configure-web-terminal-image-admin.adoc new file mode 100644 index 0000000000..938567a400 --- /dev/null +++ b/modules/configure-web-terminal-image-admin.adoc @@ -0,0 +1,21 @@ +// Module is included in the following assemblies: +// +// * web_console/web_terminal/configuring-web-terminal.adoc + +:_content-type: PROCEDURE + +[id="configure-web-terminal-image-admin_{context}"] += Configuring the web terminal image for all users + +You can use the *Administrator* perspective of the web console to set the default web terminal image for all users. + +.Prerequisites + +* You have cluster administrator permissions and are logged in to the web console. +* You have installed the {web-terminal-op}. + +include::snippets/access-cluster-configuration-console.adoc[] + +. Click the *Web Terminal* tab, which opens the *Web Terminal Configuration* page. +. Enter the URL of the image that you want to use. +. Click *Save*. \ No newline at end of file diff --git a/modules/configure-web-terminal-timeout-admin.adoc b/modules/configure-web-terminal-timeout-admin.adoc new file mode 100644 index 0000000000..44a4b39ee5 --- /dev/null +++ b/modules/configure-web-terminal-timeout-admin.adoc @@ -0,0 +1,21 @@ +// Module is included in the following assemblies: +// +// * web_console/web_terminal/configuring-web-terminal.adoc + +:_content-type: PROCEDURE + +[id="configure-web-terminal-timeout-admin_{context}"] += Configuring the web terminal timeout for all users + +You can use the *Administrator* perspective of the web console to set the default web terminal timeout period for all users. + +.Prerequisites + +* You have cluster administrator permissions and are logged in to the web console. +* You have installed the {web-terminal-op}. + +include::snippets/access-cluster-configuration-console.adoc[] + +. Click the *Web Terminal* tab, which opens the *Web Terminal Configuration* page. +. Set a value for the timeout. From the drop-down list, select a time interval of *Seconds*, *Minutes*, *Hours*, or *Milliseconds*. +. Click *Save*. \ No newline at end of file diff --git a/modules/disable-quickstarts-admin-console.adoc b/modules/disable-quickstarts-admin-console.adoc index 24b0b14c26..8131dea0c0 100644 --- a/modules/disable-quickstarts-admin-console.adoc +++ b/modules/disable-quickstarts-admin-console.adoc @@ -11,17 +11,7 @@ You can use the *Administrator* perspective of the web console to disable one or * You have cluster administrator permissions and are logged in to the web console. -.Procedure - -. In the *Administrator* perspective, navigate to *Administation* -> *Cluster Settings*. -. On the *Cluster Settings* page, click the *Configuration* tab. -. On the *Configuration* page, click the *Console* configuration resource with the description *operator.openshift.io*. -+ -image::cluster-settings-console.png[Image of the Configuration page showing the correct Console configuration resource to select] - -. From the *Action* drop-down list, select *Customize*, which opens the *Cluster configuration* page. -+ -image::cluster-configuration-general-tab.png[Cluster configuration page open on the General tab] +include::snippets/access-cluster-configuration-console.adoc[] . On the *General* tab, in the *Quick starts* section, you can select items in either the *Enabled* or *Disabled* list, and move them from one list to the other by using the arrow buttons. diff --git a/modules/odc-access-web-terminal.adoc b/modules/odc-access-web-terminal.adoc index 7863ddf912..42635cffd2 100644 --- a/modules/odc-access-web-terminal.adoc +++ b/modules/odc-access-web-terminal.adoc @@ -1,16 +1,23 @@ // Module included in the following assemblies: // -// web_console/odc-using-web-terminal.adoc +// web_console/web_terminal/odc-using-web-terminal.adoc :_content-type: PROCEDURE [id="odc-access-web-terminal_{context}"] = Accessing the web terminal After the {web-terminal-op} is installed, you can access the web terminal. +You can re-run commands by selecting them from the list of commands you have run in the terminal. These commands persist across multiple terminal sessions. +The web terminal remains open until you close it or until you close the browser window or tab. + +.Prerequisites + +* You have access to an {product-title} cluster and are logged into the web console. +* The {web-terminal-op} is installed on your cluster. .Procedure -. To launch the web terminal, click the command line terminal icon (image:odc-wto-icon.png[title="wto 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. +. To launch the web terminal, click the command line terminal icon (image:odc-wto-icon.png[title="wto icon"]) in the masthead 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. + @@ -19,23 +26,7 @@ After the {web-terminal-op} is installed, you can access the web terminal. * 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. -+ -. Click *+* to open multiple tabs within web terminal in the console. -+ -[NOTE] -==== -* You can re-run commands by selecting them from the list of commands you have run in the terminal. These commands persist across multiple terminal sessions. -* The web terminal remains open until you close it or you close the browser window or tab. -==== +. 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. -[id="web-terminal-and-network-policies_{context}"] -== Web terminal and network policies - -The web terminal might fail to launch if the cluster has network policies configured. To initialize a web terminal instance, the {web-terminal-op} must communicate with the web terminal's pod to verify it is running, and the {product-title} web console needs to send information to automatically log in to the cluster within the terminal. If either step fails, the web terminal fails to initialize and the terminal panel appears to be in a loading state. - -To avoid this issue, ensure that the network policies for namespaces that are used for terminals allow ingress from the `openshift-console` and `openshift-operators` namespaces. +. Click *+* to open multiple tabs within the web terminal in the console. diff --git a/modules/odc-configure-web-terminal-image-session.adoc b/modules/odc-configure-web-terminal-image-session.adoc new file mode 100644 index 0000000000..bd304d1851 --- /dev/null +++ b/modules/odc-configure-web-terminal-image-session.adoc @@ -0,0 +1,22 @@ + +// Module is included in the following assemblies: +// +// * web_console/web_terminal/configuring-web-terminal.adoc + +:_content-type: PROCEDURE +[id="odc-configure-web-terminal-image-session_{context}"] += Configuring the web terminal image for a session + +You can change the default image for the web terminal for your current session. + +.Prerequisites + +* You have access to an {product-title} cluster that has the {web-terminal-op} installed. +* You are logged into the web console. + +.Procedure + +. Click the web terminal icon (image:odc-wto-icon.png[title="web terminal icon"]). +. Click *Image* to display advanced configuration options for the web terminal image. +. Enter the URL of the image that you want to use. +. Click *Start* to begin a terminal instance using the specified image setting. \ No newline at end of file diff --git a/modules/odc-configure-web-terminal-timeout-session.adoc b/modules/odc-configure-web-terminal-timeout-session.adoc new file mode 100644 index 0000000000..fb269bc3f0 --- /dev/null +++ b/modules/odc-configure-web-terminal-timeout-session.adoc @@ -0,0 +1,22 @@ + +// Module is included in the following assemblies: +// +// * web_console/web_terminal/configuring-web-terminal.adoc + +:_content-type: PROCEDURE +[id="odc-configure-web-terminal-timeout-session_{context}"] += Configuring the web terminal timeout for a session + +You can change the default timeout period for the web terminal for your current session. + +.Prerequisites + +* You have access to an {product-title} cluster that has the {web-terminal-op} installed. +* You are logged into the web console. + +.Procedure + +. Click the web terminal icon (image:odc-wto-icon.png[title="web terminal icon"]). +. Click *Timeout* to display advanced configuration options for the web terminal timeout. +. Set a value for the timeout. From the drop-down list, select a time interval of *Seconds*, *Minutes*, *Hours*, or *Milliseconds*. +. Click *Start* to begin a terminal instance using the specified timeout setting. \ No newline at end of file diff --git a/modules/odc-uninstalling-web-terminal.adoc b/modules/odc-uninstalling-web-terminal.adoc deleted file mode 100644 index 3473fa6fa9..0000000000 --- a/modules/odc-uninstalling-web-terminal.adoc +++ /dev/null @@ -1,159 +0,0 @@ -// Module included in the following assemblies: -// -// web_console/odc-using-web-terminal.adoc - -:_content-type: PROCEDURE -[id="odc-uninstalling-web-terminal_{context}"] -= Uninstalling the web terminal - -Uninstalling the web terminal is a two-step process: - -. Uninstall the {web-terminal-op} and related custom resources (CRs) that were added when you installed the Operator. -. Uninstall the DevWorkspace Operator and its related custom resources that were added as a dependency of the {web-terminal-op}. - -Uninstalling the {web-terminal-op} 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 {product-title} cluster using an account with `cluster-admin` permissions. - -== Removing the Web Terminal Operator and the custom resources that support it - -Use the console and the CLI to delete any existing web terminals and CRs that were created during the installation of the {web-terminal-op}. - -.Procedure - -. Uninstall the {web-terminal-op} using the web console: -.. 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-op}. -.. Click the Options menu {kebab} for the {web-terminal-op}, 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. -+ -. Remove the CRs used by the Operator. -+ -[source,terminal] ----- -$ oc delete devworkspaces.workspace.devfile.io --all-namespaces \ - --selector 'console.openshift.io/terminal=true' --wait ----- -+ -[source,terminal] ----- -$ oc delete devworkspacetemplates.workspace.devfile.io --all-namespaces \ - --selector 'console.openshift.io/terminal=true' --wait ----- - -== Deleting the DevWorkspace Operator dependency - -Use the CLI to delete the custom resource definitions (CRDs) and additional resources that are created during installation of the {web-terminal-op}. - -[IMPORTANT] -==== -The DevWorkspace Operator functions as a standalone Operator and may be required as a dependency for other Operators installed on the cluster (for example, the {openshift-dev-spaces-productname} Operator may depend on it). Follow the steps below only if you are sure the DevWorkspace Operator is no longer needed. -==== - -.Procedure -. Remove the `DevWorkspace` custom resources used by the Operator, along with any related Kubernetes objects, such as deployments. -+ -[source,terminal] ----- -$ oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait ----- -+ -[source,terminal] ----- -$ oc delete devworkspaceroutings.controller.devfile.io --all-namespaces --all --wait ----- -+ -[WARNING] -==== -If this step is not complete, finalizers make it difficult to fully uninstall the Operator easily. -==== -+ -. Remove the CRDs used by the Operator: -+ -[WARNING] -==== -The DevWorkspace Operator provides custom resource definitions (CRDs) that use conversion webhooks. Failing to remove these CRDs can cause issues on the cluster. -==== -+ -[source,terminal] ----- -$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceroutings.controller.devfile.io ----- -+ -[source,terminal] ----- -$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io ----- -+ -[source,terminal] ----- -$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspacetemplates.workspace.devfile.io ----- -+ -[source,terminal] ----- -$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceoperatorconfigs.controller.devfile.io ----- -+ -. Verify that all involved custom resource definitions are removed. The following command should not display any result. -+ -[source,terminal] ----- -$ oc get customresourcedefinitions.apiextensions.k8s.io | grep "devfile.io" ----- -+ -. Remove the `devworkspace-webhook-server` deployment, mutating, and validating webhooks: -+ -[source,terminal] ----- -$ oc delete deployment/devworkspace-webhook-server -n openshift-operators ----- -+ -[source,terminal] ----- -$ oc delete mutatingwebhookconfigurations controller.devfile.io ----- -+ -[source,terminal] ----- -$ oc delete validatingwebhookconfigurations controller.devfile.io ----- -+ -[NOTE] -==== -If you remove the `devworkspace-webhook-server` deployment without removing the mutating and validating webhooks, you will not be able to use `oc exec` commands to run commands in a container on the cluster. After you remove the webhooks you will be able to use the `oc exec` commands again. -==== -+ -. Remove any remaining services, secrets, and config maps. Depending on the installation, some resources included in the following command may not exist on the cluster. -+ -[source,terminal] ----- -$ oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server -n openshift-operators ----- -+ -[source,terminal] ----- -$ oc delete serviceaccounts devworkspace-webhook-server -n openshift-operators ----- -+ -[source,terminal] ----- -$ oc delete configmap devworkspace-controller -n openshift-operators ----- -+ -[source,terminal] ----- -$ oc delete clusterrole devworkspace-webhook-server ----- -+ -[source,terminal] ----- -$ oc delete clusterrolebinding devworkspace-webhook-server ----- -+ -. Uninstall the Operator using the web console: -.. 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 *DevWorkspace* Operator. -.. Click the Options menu {kebab} for the DevWorkspace 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. diff --git a/modules/removing-devworkspace-operator.adoc b/modules/removing-devworkspace-operator.adoc new file mode 100644 index 0000000000..d8e8abccc1 --- /dev/null +++ b/modules/removing-devworkspace-operator.adoc @@ -0,0 +1,128 @@ +// Module included in the following assemblies: +// +// * web_console/web_terminal/uninstalling-web-terminal.adoc + +:_content-type: PROCEDURE +[id="removing-devworkspace-operator_{context}"] += Removing the {devworkspace-op} + +To completely uninstall the web terminal, you must also remove the {devworkspace-op} and custom resources used by the Operator. + +[IMPORTANT] +==== +The {devworkspace-op} is a standalone Operator and may be required as a dependency for other Operators installed in the cluster. Follow the steps below only if you are sure that the {devworkspace-op} is no longer needed. +==== + +.Prerequisites + +* You have access to an {product-title} cluster with cluster administrator permissions. +* You have installed the `oc` CLI. + +.Procedure + +. Remove the `DevWorkspace` custom resources used by the Operator, along with any related Kubernetes objects: ++ +[source,terminal] +---- +$ oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait +---- ++ +[source,terminal] +---- +$ oc delete devworkspaceroutings.controller.devfile.io --all-namespaces --all --wait +---- ++ +[WARNING] +==== +If this step is not complete, finalizers make it difficult to fully uninstall the Operator. +==== + +. Remove the CRDs used by the Operator: ++ +[WARNING] +==== +The DevWorkspace Operator provides custom resource definitions (CRDs) that use conversion webhooks. Failing to remove these CRDs can cause issues in the cluster. +==== ++ +[source,terminal] +---- +$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceroutings.controller.devfile.io +---- ++ +[source,terminal] +---- +$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io +---- ++ +[source,terminal] +---- +$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspacetemplates.workspace.devfile.io +---- ++ +[source,terminal] +---- +$ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceoperatorconfigs.controller.devfile.io +---- + +. Verify that all involved custom resource definitions are removed. The following command should not display any output: ++ +[source,terminal] +---- +$ oc get customresourcedefinitions.apiextensions.k8s.io | grep "devfile.io" +---- + +. Remove the `devworkspace-webhook-server` deployment, mutating, and validating webhooks: ++ +[source,terminal] +---- +$ oc delete deployment/devworkspace-webhook-server -n openshift-operators +---- ++ +[source,terminal] +---- +$ oc delete mutatingwebhookconfigurations controller.devfile.io +---- ++ +[source,terminal] +---- +$ oc delete validatingwebhookconfigurations controller.devfile.io +---- ++ +[NOTE] +==== +If you remove the `devworkspace-webhook-server` deployment without removing the mutating and validating webhooks, you can not use `oc exec` commands to run commands in a container in the cluster. After you remove the webhooks you can use the `oc exec` commands again. +==== + +. Remove any remaining services, secrets, and config maps. Depending on the installation, some resources included in the following commands may not exist in the cluster. ++ +[source,terminal] +---- +$ oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server -n openshift-operators +---- ++ +[source,terminal] +---- +$ oc delete serviceaccounts devworkspace-webhook-server -n openshift-operators +---- ++ +[source,terminal] +---- +$ oc delete configmap devworkspace-controller -n openshift-operators +---- ++ +[source,terminal] +---- +$ oc delete clusterrole devworkspace-webhook-server +---- ++ +[source,terminal] +---- +$ oc delete clusterrolebinding devworkspace-webhook-server +---- + +. Uninstall the {devworkspace-op}: +.. 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 {devworkspace-op}. +.. Click the Options menu {kebab} for the 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. + diff --git a/modules/removing-web-terminal-operator.adoc b/modules/removing-web-terminal-operator.adoc new file mode 100644 index 0000000000..c0b95e7312 --- /dev/null +++ b/modules/removing-web-terminal-operator.adoc @@ -0,0 +1,36 @@ +// Module included in the following assemblies: +// +// * web_console/web_terminal/uninstalling-web-terminal.adoc + +:_content-type: PROCEDURE +[id="removing-web-terminal-operator_{context}"] += Removing the {web-terminal-op} + +You can uninstall the web terminal by removing the {web-terminal-op} and custom resources used by the Operator. + +.Prerequisites + +* You have access to an {product-title} cluster with cluster administrator permissions. +* You have installed the `oc` CLI. + +.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-op}. +. Click the Options menu {kebab} for the {web-terminal-op}, 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. +. Remove the custom resources: ++ +[source,terminal] +---- +$ oc delete devworkspaces.workspace.devfile.io --all-namespaces \ + --selector 'console.openshift.io/terminal=true' --wait +---- ++ +[source,terminal] +---- +$ oc delete devworkspacetemplates.workspace.devfile.io --all-namespaces \ + --selector 'console.openshift.io/terminal=true' --wait +---- + +// TODO: Add a verification section \ No newline at end of file diff --git a/snippets/access-cluster-configuration-console.adoc b/snippets/access-cluster-configuration-console.adoc new file mode 100644 index 0000000000..408d9a4d7c --- /dev/null +++ b/snippets/access-cluster-configuration-console.adoc @@ -0,0 +1,17 @@ +// Text snippet included in the following modules: +// +// * modules/disable-quickstarts-admin-console.adoc +// * modules/configure-web-terminal-image-admin.adoc +// * modules/configure-web-terminal-timeout-admin.adoc + +:_content-type: SNIPPET + +.Procedure + +. In the *Administrator* perspective, navigate to *Administation* -> *Cluster Settings*. +. On the *Cluster Settings* page, click the *Configuration* tab. +. On the *Configuration* page, click the *Console* configuration resource with the description *operator.openshift.io*. ++ +image::cluster-settings-console.png[Image of the Configuration page showing the correct Console configuration resource to select] + +. From the *Action* drop-down list, select *Customize*, which opens the *Cluster configuration* page. \ No newline at end of file diff --git a/web_console/odc-using-web-terminal.adoc b/web_console/odc-using-web-terminal.adoc deleted file mode 100644 index 006b5b8f8f..0000000000 --- a/web_console/odc-using-web-terminal.adoc +++ /dev/null @@ -1,18 +0,0 @@ -:_content-type: ASSEMBLY -[id="odc-using-web-terminal"] -= Using the web terminal -include::_attributes/common-attributes.adoc[] -:context: odc-using-web-terminal - -toc::[] - -You can launch an embedded command line terminal instance in the web console. You must first install the {web-terminal-op} to use the web terminal. - -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. - -:FeatureName: Web terminal -include::modules/odc-installing-web-terminal.adoc[leveloffset=+1] - -include::modules/odc-access-web-terminal.adoc[leveloffset=+1] - -include::modules/odc-uninstalling-web-terminal.adoc[leveloffset=+1] diff --git a/web_console/web-console-overview.adoc b/web_console/web-console-overview.adoc index aa1628db38..a0adb07b08 100644 --- a/web_console/web-console-overview.adoc +++ b/web_console/web-console-overview.adoc @@ -24,6 +24,6 @@ include::modules/odc-accessing-perspectives.adoc[leveloffset=+1] * xref:../web_console/using-dashboard-to-get-cluster-information.adoc#using-dashboard-to-get-cluster-info[Viewing cluster information] * xref:../web_console/configuring-web-console.adoc#configuring-web-console[Configuring the web console] * xref:../web_console/customizing-the-web-console.adoc#customizing-web-console[Customizing the web console] -* xref:../web_console/odc-using-web-terminal.adoc#odc-using-web-terminal[Using the web terminal] +* xref:../web_console/web_terminal/odc-using-web-terminal.adoc#odc-using-web-terminal[Using the web terminal] * xref:../web_console/creating-quick-start-tutorials.adoc#creating-quick-start-tutorials[Creating quick start tutorials] * xref:../web_console/disabling-web-console.adoc#disabling-web-console[Disabling the web console] \ No newline at end of file diff --git a/web_console/web_terminal/_attributes b/web_console/web_terminal/_attributes new file mode 120000 index 0000000000..f27fd275ea --- /dev/null +++ b/web_console/web_terminal/_attributes @@ -0,0 +1 @@ +../_attributes/ \ No newline at end of file diff --git a/web_console/web_terminal/configuring-web-terminal.adoc b/web_console/web_terminal/configuring-web-terminal.adoc new file mode 100644 index 0000000000..34364f6c96 --- /dev/null +++ b/web_console/web_terminal/configuring-web-terminal.adoc @@ -0,0 +1,17 @@ +:_content-type: ASSEMBLY +[id="configuring-web-terminal"] += Configuring the web terminal +include::_attributes/common-attributes.adoc[] +:context: configuring-web-terminal + +toc::[] + +You can configure timeout and image settings for the web terminal, either for your current session or for all user sessions if you are a cluster administrator. + +include::modules/odc-configure-web-terminal-timeout-session.adoc[leveloffset=+1] + +include::modules/configure-web-terminal-timeout-admin.adoc[leveloffset=+1] + +include::modules/odc-configure-web-terminal-image-session.adoc[leveloffset=+1] + +include::modules/configure-web-terminal-image-admin.adoc[leveloffset=+1] \ No newline at end of file diff --git a/web_console/web_terminal/images b/web_console/web_terminal/images new file mode 120000 index 0000000000..e4c5bd02a1 --- /dev/null +++ b/web_console/web_terminal/images @@ -0,0 +1 @@ +../images/ \ No newline at end of file diff --git a/modules/odc-installing-web-terminal.adoc b/web_console/web_terminal/installing-web-terminal.adoc similarity index 77% rename from modules/odc-installing-web-terminal.adoc rename to web_console/web_terminal/installing-web-terminal.adoc index eef1ab3a1f..0833a87369 100644 --- a/modules/odc-installing-web-terminal.adoc +++ b/web_console/web_terminal/installing-web-terminal.adoc @@ -1,17 +1,24 @@ -// Module included in the following assemblies: -// -// web_console/odc-using-web-terminal.adoc - -:_content-type: PROCEDURE -[id="odc-installing-web-terminal_{context}"] +:_content-type: ASSEMBLY +[id="installing-web-terminal"] = Installing the web terminal +include::_attributes/common-attributes.adoc[] +:context: installing-web-terminal + +toc::[] You can install the web terminal by using the {web-terminal-op} listed in the {product-title} OperatorHub. When you install the {web-terminal-op}, 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 {product-title} cluster using an account with `cluster-admin` permissions. +[discrete] +[id="prerequisites_installing-web-terminal"] +== Prerequisites + +* You are logged into the {product-title} web console. +* You have cluster administrator permissions. + +[discrete] +[id="installing-web-terminal-procedure"] +== Procedure -.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-op} 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*. @@ -30,4 +37,4 @@ You can install the web terminal by using the {web-terminal-op} listed in the {p The {web-terminal-op} installs the DevWorkspace Operator as a dependency. ==== -. After the Operator is installed, refresh your page to see the command line terminal icon on the upper right of the console. +. After the Operator is installed, refresh your page to see the command line terminal icon (image:odc-wto-icon.png[title="web terminal icon"]) in the masthead of the console. \ No newline at end of file diff --git a/web_console/web_terminal/modules b/web_console/web_terminal/modules new file mode 120000 index 0000000000..43aab75b53 --- /dev/null +++ b/web_console/web_terminal/modules @@ -0,0 +1 @@ +../modules/ \ No newline at end of file diff --git a/web_console/web_terminal/odc-using-web-terminal.adoc b/web_console/web_terminal/odc-using-web-terminal.adoc new file mode 100644 index 0000000000..d33ca0e47f --- /dev/null +++ b/web_console/web_terminal/odc-using-web-terminal.adoc @@ -0,0 +1,11 @@ +:_content-type: ASSEMBLY +[id="odc-using-web-terminal"] += Using the web terminal +include::_attributes/common-attributes.adoc[] +:context: odc-using-web-terminal + +toc::[] + +You can launch an embedded command line terminal instance in the web console. 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. + +include::modules/odc-access-web-terminal.adoc[leveloffset=+1] \ No newline at end of file diff --git a/web_console/web_terminal/snippets b/web_console/web_terminal/snippets new file mode 120000 index 0000000000..9f5bc7e4dd --- /dev/null +++ b/web_console/web_terminal/snippets @@ -0,0 +1 @@ +../snippets \ No newline at end of file diff --git a/web_console/web_terminal/troubleshooting-web-terminal.adoc b/web_console/web_terminal/troubleshooting-web-terminal.adoc new file mode 100644 index 0000000000..96e85fbf92 --- /dev/null +++ b/web_console/web_terminal/troubleshooting-web-terminal.adoc @@ -0,0 +1,14 @@ +:_content-type: ASSEMBLY +[id="troubleshooting-web-terminal"] += Troubleshooting the web terminal +include::_attributes/common-attributes.adoc[] +:context: troubleshooting-web-terminal + +toc::[] + +[id="troubleshooting-web-terminal-network-policies"] +== Web terminal and network policies + +The web terminal might fail to launch if the cluster has network policies configured. To initialize a web terminal instance, the {web-terminal-op} must communicate with the web terminal's pod to verify it is running, and the {product-title} web console needs to send information to automatically log in to the cluster within the terminal. If either step fails, the web terminal fails to initialize and the terminal panel appears to be in a loading state. + +To avoid this issue, ensure that the network policies for namespaces that are used for terminals allow ingress from the `openshift-console` and `openshift-operators` namespaces. \ No newline at end of file diff --git a/web_console/web_terminal/uninstalling-web-terminal.adoc b/web_console/web_terminal/uninstalling-web-terminal.adoc new file mode 100644 index 0000000000..5831a0090d --- /dev/null +++ b/web_console/web_terminal/uninstalling-web-terminal.adoc @@ -0,0 +1,17 @@ +:_content-type: ASSEMBLY +[id="uninstalling-web-terminal"] += Uninstalling the web terminal +include::_attributes/common-attributes.adoc[] +:context: uninstalling-web-terminal + +toc::[] + +Uninstalling the {web-terminal-op} does not remove any of the custom resource definitions (CRDs) or managed resources that are created when the Operator is installed. For security purposes, you must manually uninstall these components. By removing these components, you save cluster resources because terminals do not idle when the Operator is uninstalled. + +Uninstalling the web terminal is a two-step process: + +. Uninstall the {web-terminal-op} and related custom resources (CRs) that were added when you installed the Operator. +. Uninstall the DevWorkspace Operator and its related custom resources that were added as a dependency of the {web-terminal-op}. + +include::modules/removing-web-terminal-operator.adoc[leveloffset=+1] +include::modules/removing-devworkspace-operator.adoc[leveloffset=+1] \ No newline at end of file