diff --git a/source/img/sandbox_create.png b/source/img/sandbox_create.png new file mode 100644 index 00000000..07b94859 Binary files /dev/null and b/source/img/sandbox_create.png differ diff --git a/source/instructors/admin/sandboxes.rst b/source/instructors/admin/sandboxes.rst index 604bb7aa..810b3db9 100644 --- a/source/instructors/admin/sandboxes.rst +++ b/source/instructors/admin/sandboxes.rst @@ -9,7 +9,7 @@ Sandboxes About Sandboxes --------------- -Sandboxes provide time-boxed, ephemeral **AWS Management Console environments** that expire automatically. A sandbox's permissions are defined by a template and can range from full administrator access to least-privileged roles, depending on need. When a sandbox's duration ends, access is revoked and all resources created inside the sandbox are cleaned up automatically—no user action required. +Sandboxes provide time-boxed, ephemeral environments for hands-on work in AWS that expire automatically. Depending on the sandbox type, learners may get access to the **AWS Management Console**, a provisioned **EC2 instance**, or a managed **Jupyter** environment. Permissions and runtime behavior are defined by a template and can range from full administrator access to least-privileged roles, depending on need. When a sandbox's duration ends, access is revoked and any resources created within the sandbox are cleaned up automatically—no user action required. .. important:: @@ -31,11 +31,13 @@ Key Concepts * - **Sandbox** - A short-lived AWS environment defined by a ``sandbox.yml`` template. It grants time-boxed access and (optionally) provisions resources for hands-on work. * - **Type** - - The sandbox runtime. Two types are illustrated in the examples below: + - The sandbox runtime. Three types are illustrated in the examples below: - ``aws_cloud`` — console-first sessions that assume an AWS role defined by a policy (optionally orchestrated by an Infrastructure-as-Code engine). - ``aws_ec2`` — a session that provisions an EC2 instance with parameters like instance type, image, disk size, and connection mode (``ssh`` or ``vnc``). + + - ``jupyter`` — a notebook-first session that launches a managed Jupyter environment with configurable compute (for example, ``t3.large`` or ``g4dn.xlarge``) and optional custom container images. * - **Lifetime** - The initial duration of the sandbox (e.g., ``15m``, ``30m``). Access and resources automatically expire at the end of the lifetime. * - **Lifetime Extension** @@ -60,6 +62,10 @@ Lifecycle, Duration, and Cleanup - **Extend:** While running, you may extend the lifetime in ``lifetime_extension`` increments, **not exceeding** ``lifetime_max``. - **Expire & Clean:** When the lifetime ends, access is revoked and resources created by the sandbox are cleaned up automatically—no user action required. +.. note:: + + **Cooldown:** There is a 15-minute cooldown period between sandbox launches. + Creating a Sandbox and a Collection ----------------------------------- @@ -97,6 +103,13 @@ Define sandboxes in YAML, one sandbox per folder. The best starting point is usi The command above will copy the repository to your current directory. Make sure your folder is empty. +You can also use the dedicated **Create Sandbox** button: + +.. image:: /img/sandbox_create.png + :width: 60% + :align: center + :alt: Sandbox create button. + Configuration Reference ----------------------- @@ -118,7 +131,7 @@ Top-level keys * - ``type`` - enum - Yes - - Sandbox runtime type. Supported in examples: ``aws_cloud`` or ``aws_ec2``. + - Sandbox runtime type. Supported in examples: ``aws_cloud``, ``aws_ec2``, or ``jupyter``. * - ``settings`` - mapping - Yes @@ -151,6 +164,10 @@ Top-level keys - string - No - Maximum total runtime allowed for the sandbox (e.g., ``"20m"``, ``"60m"``). Once reached, the sandbox cannot be extended further. + * - ``cloud_account`` + - string + - Optional + - Cloud account to run the sandbox in (for example, ``codio``). * - ``policy`` - string - Conditional @@ -210,6 +227,36 @@ After setting ``type`` to ``aws_ec2``, configure the following ``parameters``: - Default access channel for the instance. Supported values in examples: ``ssh`` or ``vnc``. If omitted, both connection modes are available. + + +.. _jupytertype-sandboxes: + +``settings.parameters`` for ``jupyter`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +After setting ``type`` to ``jupyter``, configure the following ``parameters``: + +.. list-table:: + :widths: 22 14 10 54 + :header-rows: 1 + + * - Key + - Type + - Required + - Description + * - ``instance_type`` + - string + - Yes + - Instance type to run the Jupyter environment (for example, ``t3.large`` or ``g4dn.xlarge``). + * - ``custom_image`` + - string + - Optional + - Optional container image to use for the Jupyter environment (for example, an ECR or Quay image reference). + * - ``volume_size`` + - integer (GB) + - Yes + - Root volume size in GiB for the Jupyter environment (for example, ``40``). + ``prime`` (common) ~~~~~~~~~~~~~~~~~~ diff --git a/source/instructors/authoring/guides/freeze_code.rst b/source/instructors/authoring/guides/freeze_code.rst index ed5d9a40..347fca91 100644 --- a/source/instructors/authoring/guides/freeze_code.rst +++ b/source/instructors/authoring/guides/freeze_code.rst @@ -28,4 +28,4 @@ If you just wish to highlight code to the students but allow them to be able to Supported language files ------------------------ -.c .cpp .java .py .html .css .r .rb .js .ts .sql .h .hpp .ocaml .ml .php .pas .yml .xml .cs .coffescript .fs .go .kt .kts .less .lua .m .h .pl .scala .vb .swift .sh .scss .sass .md .yaml .hs .rkt .ss .scm .lisp .erl .ex .exs .elm .asm .s .rs .rlib .dart .jl \ No newline at end of file +.c .cpp .java .py .html .css .r .rb .js .ts .sql .h .hpp .ml .php .pas .yml .xml .cs .coffee .fs .go .kt .kts .less .lua .m .pl .scala .vb .swift .sh .scss .sass .md .yaml .hs .erl .elm .rs .rlib .dart .jl \ No newline at end of file diff --git a/source/instructors/getstarted/support/changelog.rst b/source/instructors/getstarted/support/changelog.rst index 9a3ed5ce..8ac916f9 100644 --- a/source/instructors/getstarted/support/changelog.rst +++ b/source/instructors/getstarted/support/changelog.rst @@ -13,6 +13,16 @@ We do not report small bug fixes or issues that affect individual users, who we `[I]` = Update or improvement `[F]` = New feature +**March 2026** + +- `[F] [4th]`: Added :ref:`Jupyter Sandboxes `. +- `[I] [4th]`: Added an option to create VM images from Sandbox > Preview. + +**February 2026** + +- `[I] [26th]`: Added an option to create a Sandbox from templates. +- `[I] [24th]`: Improved the way we detect an internet connection. + **January 2026** - `[F] [28th]`: A Previous button is now available in guides as long as :ref:`Forward Only Navigation ` is not enabled. @@ -964,7 +974,7 @@ We do not report small bug fixes or issues that affect individual users, who we - `[I] [ 5th]`: Improve handling for opening of large project warning - `[I] [ 5th]`: Fix issue with terminal reconnections -**Febuary 2018** +**February 2018** - `[I] [26th]`: Fix issue with unit reloading for students - `[F] [26th]`: Expand Gigabox options to include 1GB, 2GB, 8GB,16GB and GPU (for GPU-accelerated instances) boxes. diff --git a/source/instructors/setupcourses/awscloudlearning.rst b/source/instructors/setupcourses/awscloudlearning.rst deleted file mode 100644 index e243b354..00000000 --- a/source/instructors/setupcourses/awscloudlearning.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. meta:: - :description: Instructors can enable the AWS console with custom policies for learning Cloud concepts. - - -.. _aws-cloud-learning: - -AWS Cloud Learning -================== - -It is possible to enable grant access to the AWS Console from Codio. - -Policy AWS for the Course -========================= - -Create a custom policy. - -Enabling AWS for the Course -=========================== - -It is possible to enable AWS for your course. diff --git a/source/instructors/setupcourses/common-storage.rst b/source/instructors/setupcourses/common-storage.rst index 6a9041c3..66fec5ef 100644 --- a/source/instructors/setupcourses/common-storage.rst +++ b/source/instructors/setupcourses/common-storage.rst @@ -49,8 +49,6 @@ Add Folders & Files :width: 80% :align: center -.. caution:: You can upload many files, but no single file can be more than 5 GB. - Access Storage From Assignments -------------------------------