From 8c96aaae23628c3b820c12b3e16260e9f3559e68 Mon Sep 17 00:00:00 2001 From: revital Date: Wed, 5 Mar 2025 11:46:19 +0200 Subject: [PATCH 1/3] jupyter lab --- docs/webapp/applications/apps_jupyter_lab.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/webapp/applications/apps_jupyter_lab.md b/docs/webapp/applications/apps_jupyter_lab.md index 74dcd6a6..d6e86c3b 100644 --- a/docs/webapp/applications/apps_jupyter_lab.md +++ b/docs/webapp/applications/apps_jupyter_lab.md @@ -14,6 +14,9 @@ The Jupyter Lab session is set up using a [ClearML Agent](../../clearml_agent.md select a queue, and the agent servicing that queue will download and launch the IDE on its machine. When the server setup is complete, the dashboard displays a link to access the Jupyter Lab session. +$$$$$$$$$ Session apps now create and backup your workspace, which means when you clone an instance you continue with the same session workspace. + + Once you have launched an app instance, you can view the following information in its dashboard: * App status indicator * Jupyter loading - Remote IDE is setting up From c3fcd10768fc6085188aab0b38bd83c7155f410b Mon Sep 17 00:00:00 2001 From: revital Date: Tue, 6 May 2025 10:12:25 +0300 Subject: [PATCH 2/3] Add session backup --- docs/webapp/applications/apps_jupyter_lab.md | 25 ++++++++++++++++---- docs/webapp/applications/apps_vscode.md | 21 +++++++++++++++- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/docs/webapp/applications/apps_jupyter_lab.md b/docs/webapp/applications/apps_jupyter_lab.md index d6e86c3b..8e3917f9 100644 --- a/docs/webapp/applications/apps_jupyter_lab.md +++ b/docs/webapp/applications/apps_jupyter_lab.md @@ -10,21 +10,23 @@ The Jupyter Lab UI application allows you to launch a remote Jupyter Lab session This feature provides a local link to access Jupyter Lab on a remote machine over a secure and encrypted SSH connection, letting you use the IDE as if you're running on the target machine itself. +The Jupyter Lab app offers workspace management features, allowing you to store, sync, and restore interactive workspaces +across sessions. This ensures that all your work is preserved and can be easily accessed in future sessions. + The Jupyter Lab session is set up using a [ClearML Agent](../../clearml_agent.md). When configuring an app instance, select a queue, and the agent servicing that queue will download and launch the IDE on its machine. When the server setup is complete, the dashboard displays a link to access the Jupyter Lab session. -$$$$$$$$$ Session apps now create and backup your workspace, which means when you clone an instance you continue with the same session workspace. - - Once you have launched an app instance, you can view the following information in its dashboard: * App status indicator * Jupyter loading - Remote IDE is setting up * Jupyter active - Remote IDE is active * Jupyter idle - Remote IDE is idle * Jupyter stopped - Remote IDE is stopped -* Open IDE - link to the IDE session * Idle time +* Restored workspace - If a previous session’s workspace was restored, this will display that session's ID +* Current session ID +* Open IDE - Link to the IDE session * Server's resources monitoring (CPU / GPU / vMem utilization) * Console - The console log shows the instance's activity, including server setup progress, server status changes @@ -54,14 +56,27 @@ to open the app's instance launch form. * Repository * Branch * Commit + * Store git repository as part of the snapshot - If you select to `Store git repo`, a copy of the repo will be stored + in the workspace under `./git_repo`. Otherwise, the workspace will include a `./git_repo_not_synced` soft link to the + expected repo path * **Container** * Image - Container image used to run the IDE in * Docker arguments - `docker run` arguments, as a single string + * Init script - Bash script that is executed upon container boot (comments are supported only at the beginning of the + line) * **Extra Packages** - Extra Python packages to be installed +* **Persistent Workspace Path** - Specify your workspace root directory. It will be automatically stored when the session + is closed and available for restoring into a new sessions (example: `~/workspace`) * **Queue** - The queue serviced by the ClearML Agent that will execute the Jupyter Lab session * **Maximum idle time** (hours) - Maximum time of inactivity, after which the session will shut down. Configure idleness - definitions under `Advanced Options`. + definitions under `Advanced Options`. +* **Interactive Session Name** - Name for your current interactive session * **Advanced Options** + * Interactive Session Project - The ClearML project in which the interactive session is created. If left empty, the + default project `Interactive Session` is used + * Interactive Session Tags - Comma separated list of tags to add to your interactive session task. + * Restore Interactive Workspace ID - Input a previously run interactive session ID to restore its workspace (when + cloning a previously run app instance, this field is automatically filled with its ID) * Idle Network Threshold (MB/s) - Throughput under which the session will be considered idle * Idle CPU Threshold (%) - CPU utilization under which the session will be considered idle * Idle GPU Threshold (%) - GPU utilization under which the session will be considered idle diff --git a/docs/webapp/applications/apps_vscode.md b/docs/webapp/applications/apps_vscode.md index 3ad8b076..382d6a2d 100644 --- a/docs/webapp/applications/apps_vscode.md +++ b/docs/webapp/applications/apps_vscode.md @@ -10,6 +10,9 @@ The VS Code UI application allows you to launch a remote VS Code session on a ma This feature provides a local link to access VS Code on a remote machine over a secure and encrypted SSH connection, letting you use the IDE as if you're running on the target machine itself. +The VS Code app offers workspace management features, allowing you to store, sync, and restore interactive workspaces +across sessions. This ensures that all your work is preserved and can be easily accessed in future sessions. + The VS Code session is set up using a [ClearML Agent](../../clearml_agent.md). When configuring an app instance, select a queue, and the agent servicing that queue will download and launch the IDE on its machine. When the server setup is complete, the dashboard displays a link to access the VS Code session. @@ -20,8 +23,10 @@ Once you have launched an app instance, you can view the following information i * VS Code active - Remote IDE is active * VS Code idle - Remote IDE is idle * VS Code stopped - Remote IDE is stopped -* Open IDE - link to the IDE session * Idle time +* Restored workspace - If a previous session’s workspace was restored, this will display that session's ID +* Current session ID +* Open IDE - Link to the IDE session * Server's resources monitoring (CPU / GPU / vMem utilization) * Console - The console log shows the instance's activity, including server setup progress, server status changes @@ -51,13 +56,27 @@ to open the app's instance launch form. * Repository * Branch * Commit + * Store git repository as part of the snapshot - If you select to `Store git repo`, a copy of the repo will be stored + in the workspace under `./git_repo`. Otherwise, the workspace will include a `./git_repo_not_synced` soft link to the + expected repo path * **Container** * Image - container image used to run the IDE in * Docker arguments - `docker run` arguments, as a single string + * Init script - Bash script that is executed upon container boot (comments are supported only at the beginning of the + line) +* **Extra Packages** - Extra Python packages to be installed +* **Persistent Workspace Path** - Specify your workspace root directory. It will be automatically stored when the session + is closed and available for restoring into a new sessions (example: `~/workspace`) * **Queue** - The queue serviced by the ClearML Agent that will execute the VS Code session * **Maximum idle time** (hours) - Maximum time of inactivity, after which the session will shut down. Configure idleness definitions under `Advanced Options`. +* **Interactive Session Name** - Name for your current interactive session * **Advanced Options** + * Interactive Session Project - The ClearML project in which the interactive session is created. If left empty, the + default project `Interactive Session` is used + * Interactive Session Tags - Comma separated list of tags to add to your interactive session task. + * Restore Interactive Workspace ID - Input a previously run interactive session ID to restore its workspace (when + cloning a previously run app instance, this field is automatically filled with its ID) * VSCode Version - VSCode code-server version to download * VSCode additional extensions - Comma separated list of additional VSCode extensions to install (for example `ms-toolsai.jupyter,ms-python.python`) * Idle Network Threshold (MB/s) - Throughput under which the session will be considered idle From 291c1ab90ae92a8754346c86499174dc6a898db9 Mon Sep 17 00:00:00 2001 From: revital Date: Tue, 6 May 2025 11:38:34 +0300 Subject: [PATCH 3/3] edits --- docs/webapp/applications/apps_jupyter_lab.md | 2 +- docs/webapp/applications/apps_ssh_session.md | 20 ++++++++++++-------- docs/webapp/applications/apps_vscode.md | 2 +- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/docs/webapp/applications/apps_jupyter_lab.md b/docs/webapp/applications/apps_jupyter_lab.md index 8e3917f9..6818beed 100644 --- a/docs/webapp/applications/apps_jupyter_lab.md +++ b/docs/webapp/applications/apps_jupyter_lab.md @@ -66,7 +66,7 @@ to open the app's instance launch form. line) * **Extra Packages** - Extra Python packages to be installed * **Persistent Workspace Path** - Specify your workspace root directory. It will be automatically stored when the session - is closed and available for restoring into a new sessions (example: `~/workspace`) + is closed and available for restoring into new sessions (example: `~/workspace`) * **Queue** - The queue serviced by the ClearML Agent that will execute the Jupyter Lab session * **Maximum idle time** (hours) - Maximum time of inactivity, after which the session will shut down. Configure idleness definitions under `Advanced Options`. diff --git a/docs/webapp/applications/apps_ssh_session.md b/docs/webapp/applications/apps_ssh_session.md index cf4ef5eb..2e2cf74a 100644 --- a/docs/webapp/applications/apps_ssh_session.md +++ b/docs/webapp/applications/apps_ssh_session.md @@ -26,7 +26,7 @@ Once you have launched an app instance, you can view the following information i * Idle instance - Remote SSH session is idle * Stopped instance - Remote SSH session is stopped * Idle time -* Restored workspace - If a previous session’s workspace was restored, this will display its session ID +* Restored workspace - If a previous session’s workspace was restored, this will display that session's ID * Current session ID * SSH:Host:Port - The hostname and port for the SSH connection * User - SSH username for the interactive session @@ -68,23 +68,27 @@ values from the file, which can be modified before launching the app instance * Repository * Branch * Commit + * Store git repository as part of the snapshot - If you select to `Store git repo`, a copy of the repo will be stored + in the workspace under `./git_repo`. Otherwise, the workspace will include a `./git_repo_not_synced` soft link to the + expected repo path * **Container** - Input details to run the session in Docker container * Image - Container image to launch * Docker Arguments - Additional arguments for the Docker image * Init Script - Bash script that is executed upon container boot (comments are supported only at the beginning of the line) * **Extra Packages** - Specify Python packages to install when setting up the remote environment -* **Persistent Workspace Path** - Specify your workspace root directory, it will be automatically stored when the session is -closed and restored into a new instance when the session app instance is cloned (example: `~/workspace`) +* **Persistent Workspace Path** - Specify your workspace root directory. It will be automatically stored when the session + is closed and available for restoring into new sessions (example: `~/workspace`) * **Queue** - The [ClearML Queue](../../fundamentals/agents_and_queues.md#what-is-a-queue) to which the SSH Session app instance task will be enqueued (make sure an agent is assigned to that queue) * **Maximum idle time** (in hours) - Maximum idle time after which the app instance will shut down -* **Interactive Session Name** - Name your current interactive session +* **Interactive Session Name** - Name for your current interactive session * **Advanced Options** - * Interactive Session Project - The project in which the interactive session is created. If left empty, the default - project `Interactive Session` is used - * Interactive Session Tags - Comma separated list of tags to add to your interactive session - * Restore Interactive Workspace ID - Input a previously run interactive session ID to restore its workspace + * Interactive Session Project - The ClearML project in which the interactive session is created. If left empty, the + default project `Interactive Session` is used + * Interactive Session Tags - Comma separated list of tags to add to your interactive session task. + * Restore Interactive Workspace ID - Input a previously run interactive session ID to restore its workspace (when + cloning a previously run app instance, this field is automatically filled with its ID) * Use DropBear SSH server instead of OpenSSH server - Use DropBear SSH server instead of OpenSSH server. Required if not running as root inside container * Idle Network Threshold (MB) - Network throughput under which the session will be considered idle diff --git a/docs/webapp/applications/apps_vscode.md b/docs/webapp/applications/apps_vscode.md index 382d6a2d..cae066c6 100644 --- a/docs/webapp/applications/apps_vscode.md +++ b/docs/webapp/applications/apps_vscode.md @@ -66,7 +66,7 @@ to open the app's instance launch form. line) * **Extra Packages** - Extra Python packages to be installed * **Persistent Workspace Path** - Specify your workspace root directory. It will be automatically stored when the session - is closed and available for restoring into a new sessions (example: `~/workspace`) + is closed and available for restoring into new sessions (example: `~/workspace`) * **Queue** - The queue serviced by the ClearML Agent that will execute the VS Code session * **Maximum idle time** (hours) - Maximum time of inactivity, after which the session will shut down. Configure idleness definitions under `Advanced Options`.