Instruqt Docs
  • 🚩Getting started
    • Overview
    • Setting up
      • Study Room
    • Quickstart
  • 🛤️Tracks
    • Manage tracks
      • Create tracks
      • Edit locally
      • Test tracks
      • Track logs
      • Track time limits
      • Track feedback
      • Developer workflow
      • Track tags
      • Track authors
      • Delete tracks
      • Custom layouts
      • Version control
      • Loading experience
    • Challenges
      • Create challenges
      • Challenge tabs
      • Challenge order
      • Skip challenges
      • Add quizzes
      • Assignment display
      • Assignment editor
    • Share tracks
      • Live Events
        • Instructor tools
      • Track invites
      • Embed tracks
      • Landing pages
  • 🏖️Sandboxes
    • Overview
    • Sandbox hosts
      • Add hosts
      • Custom VM images
      • Custom container images
      • Public images
      • Windows VMs
      • Website service
      • SSL certificates
    • Cloud accounts
      • Securing your cloud accounts
      • Cloud Client
      • AWS accounts
        • AWS Environment Variables
        • AWS Managed Policies
        • AWS IAM Policies
        • AWS SCP Policies
      • Azure subscriptions
        • Azure Environment Variables
        • Azure Roles
        • Azure Resource Providers
      • GCP projects
        • GCP Environment Variables
        • GCP IAM Permissions
    • Lifecycle scripts
      • Scripting overview
      • Track scripts
      • Challenge scripts
      • Example scripts
      • Helper scripts
    • UI Checks
    • Global Sandbox Settings
      • Hot start
      • Sandbox presets
      • Custom resources
      • Cloud services and regions
        • Allowed services and regions
    • Secrets and variables
      • Runtime variables
      • Runtime parameters
      • Secrets
  • ⚙️Settings
    • Integrations
      • Salesforce (Beta)
      • HubSpot (Beta)
      • HubSpot (Using zapier)
      • LTI
      • Version control
        • GitHub
    • Authentication
      • SSO
      • API keys
    • Platform
      • API
      • Webhooks
      • Track limits
  • 💡Reference
    • Feature overview
    • Instruqt CLI
      • Commands
      • Configuration files
      • Assets
    • Instruqt platform
      • Networking
      • Host machine types
      • Quotas and limits
      • Roles and permissions
      • Network access
      • Requirements
  • 🛟Resources
    • Content design tips
    • Advanced use cases
    • Templates
    • FAQ
      • Running Windows Client Hosts on Instruqt
      • Using Cleanup Scripts in SaaS and Cloud Environments
      • Instruqt Regional Configurations and Restrictions
      • Troubleshooting Instruqt CLI Authentication Issues
      • Copy a Track from One Organization to Another via CLI
      • Network Configuration: IP and MAC Address Control
      • Container Troubleshooting in Instruqt
Powered by GitBook
On this page
  • Overview
  • Create sandbox presets
  • Publish sandbox preset drafts
  • Use sandbox presets
  • Update sandbox presets

Was this helpful?

Edit on GitHub
  1. Sandboxes
  2. Global Sandbox Settings

Sandbox presets

How to create, publish, and use sandbox presets.

Overview

Sandbox presets allow you to share a single sandbox configuration across multiple tracks. Sandbox presets can contain everything a regular sandbox might have. There are two main reasons to implement presets:

  • Standardization: Prevent sandbox configurations drift across multiple tracks.

  • Shared hot start pools: Have multiple tracks pull from the same hot start pool.

Create sandbox presets

You can create sandbox presets using the Web UI or the Instruqt CLI.

  1. Click Settings -> Sandbox presets.

  2. Click Create a new preset.

  3. Input a Name for the preset.

  4. Input a Description for the preset.

  5. Add hosts, cloud accounts, scripts, or secrets to the preset.

  6. Click Save to drafts.

  1. Run the following command to create a sandbox preset:

    instruqt sandbox create
  2. Input a preset name:

    ==> Name: <PRESET_NAME>
  3. Change into the newly created preset directory:

    cd <PRESET_NAME>
  4. Modify the config.yml file and create scripts in the scripts directory, as needed.

  5. Push the preset to Instruqt:

    instruqt sandbox push

Publish sandbox preset drafts

You can publish sandbox presets using the Web UI or the Instruqt CLI.

  1. Click Settings -> Sandbox presets.

  2. Click the Drafts tab

  3. Either click Publish on the chosen draft or click on the draft and then Save and publish on the next page.

  4. Enter a Commit message. (optional)

  5. Click Yes, publish.

  1. Run the following command to publish a sandbox preset:

    instruqt sandbox publish --message="My great changes"

Once a draft is published all tracks using the preset will be updated to use the latest published version and all shared hot-start pools will be drained and provisioned with the new published version.

Use sandbox presets

You can configure tracks to use presets using the Web UI or the Instruqt CLI.

  1. Click Settings -> Sandbox presets.

  2. Find your preset in the list of published presets. If a version has not been published take a look under the drafts tab.

  3. Note the slug under the name and version of the preset, prefixed with a forward slash.

  4. Next, click the track you want to use the preset in.

  5. Under Manage Track, click Configure sandbox.

  6. Click Use preset.

  7. Click Proceed and discard edits.

  8. Select the preset you want to use for the track and click Use selected preset.

  1. Change into the track directory.

  2. Modify the track.yml file by adding the following field:

    sandbox_preset: <INSERT_PRESET_SLUG_HERE>
  3. Remove the tracks config.yml and track_scripts file and directory, respectively.

  4. Push the track to Instruqt:

    instruqt track push

Using a preset may affect existing challenge tabs and lifecycle scripts on the track as the sandbox resources and hosts may differ from the tracks previous config. Double check your work!

Update sandbox presets

You can update presets using the Web UI or the Instruqt CLI.

  1. Click Settings -> Sandbox presets.

  2. Under Published tab click Edit on the preset you would like to make changes too.

  3. Make the desired changes to the sandbox preset.

  4. Either click Save to drafts if the preset is not ready for use, or click Save and publish.

  5. Enter a Commit message. (optional)

  6. Click Yes, publish.

  1. Open a terminal.

  2. Enter the following command, using the slug determined in step 1:

    instruqt sandbox pull <SANDBOX_PRESET>
  3. Change into the preset directory, and modify as needed.

  4. Push the changes to Instruqt:

    instruqt sandbox push
  5. Once changes are tested, publish the preset:

    instruqt sandbox publish --message="My message"

When using the pull command the latest version of a sandbox preset will be fetched. If there is a draft version the draft will be fetched, if there is no draft the published version will be fetched.

PreviousHot startNextCustom resources

Last updated 1 year ago

Was this helpful?

Pull the track you wish to add a preset to.

Determine the slug of the sandbox preset you want to update. See .

🏖️
See how here.
Using sandbox presets