Sandbox is an offering by Gathr which contains all the features and tools that are required by its users to create and run their code in isolation. Users have a choice to operate on their preferred development environments via Gathr with minimal setup requirements.
Currently, Gathr supports JupyterLab, RStudio and VS Code as the IDEs.
These environments along with their dependencies as chosen can either be setup on bare metal servers. The sandbox environments created with this setup in Gathr are known as non-container-based sandbox.
Or these environments along with their dependencies as chosen can also be encapsulated in a container which can run independently on any Gathr supported container-based infrastructure. The sandbox environments created with this setup in Gathr are known as container-based sandbox.
A sandbox can be created and launched in project. The steps to create a sandbox with each of these approaches and the various actions that can be performed on them are explained further in this topic.
With a non-container-based approach users can create and launch a sandbox by selecting a preferred IDE, kernel and additional packages (as per applicability of the kernel selected).
By using python as kernal, user has multiple options to provide packages during configuration of the sandbox. For more details, see end-to-end workflow of Creating Non-Container-Based Sandbox.
User can choose to host a container-based sandbox on a cluster that is registered in Gathr database. Currently, Gathr supports Kubernetes as a cluster.
Kubernetes clusters and docker images can be registered in Gathr application. Once registered, they can be utilized during sandbox configuration for a container-based deployment approach.
For more details about how to register Clusters in Gathr, see Register Cluster and for registering docker images see, Register Container Image.
The IDE selected during the container image registration (for a container-based approach) will be launched in the preferred cluster and docker image.
The container-based and non-container-based sandbox that are created within a project will appear on the Sandbox listing page. The configuration options for creating a sandbox can be accessed using the plus icon. For more details, see Creating Sandbox.
The information and actions displayed for the listed sandbox are explained below:
Note: Users can also perform several actions such as add/modify packages, stop sandbox, push files to Git repo from the Jupyter Lab IDE as well.
The sandbox that are relaunched from the Sandbox listing page will appear in this section. The user can search for the relaunched sandbox in the available search bar.
The information that is displayed for the relaunched sandbox is explained below:
The configuration options for creating a sandbox can be accessed using the plus icon from the Sandbox listing page.
User has options to create either non-container-based sandbox or container-based sandbox. The basic configuration required for creating and launching both types of sandbox are explained below.
Creating Non-Container-Based Sandbox
The configuration details for creation of a non-container-based sandbox are described in the table given below:
Once all the configuration values are specified, user can Save and Launch the sandbox.
Creating Container-Based Sandbox
The configuration details for creation of a container-based sandbox are described in the table given below:
Once all the configuration values are specified, user can Save and Launch the sandbox.
The launch status for a container-based sandbox will be displayed as shown in the image given below:
Once the sandbox is launched successfully, the user will be redirected to the Jupyter Lab or any other default IDE.