Skip to content

Running Labs

Everything you need to know about running SnapBench labs.

Starting a Lab

From the Dashboard

  1. Navigate to your Dashboard
  2. Browse available scenarios
  3. Click Start Lab on your chosen scenario
  4. Wait for provisioning (1-2 minutes)
  5. Click Access Lab when ready

Provisioning

During provisioning, SnapBench:

  • Creates an isolated Kubernetes namespace
  • Deploys all components
  • Sets up networking and access

The status indicator shows progress.

The Lab Interface

┌─────────────────────────────────────────────────────────────┐
│  Header: Scenario name, timer, stop button                  │
├───────────────────────────────────┬─────────────────────────┤
│                                   │                         │
│                                   │      Instructions       │
│     Component Tabs                │      (right sidebar)    │
│     (terminals, web UIs)          │                         │
│                                   │                         │
│                                   │                         │
└───────────────────────────────────┴─────────────────────────┘

Component Tabs

The main area shows component interfaces:

Tab TypeWhat it shows
TerminalCommand-line access to a container
Web UIHTTP interface to a service

Click tabs to switch between components.

Instructions Sidebar

The right sidebar shows step-by-step instructions:

  • Follow steps in order
  • Click navigation links to switch components
  • Code blocks have copy buttons (hover to reveal)

Using Terminals

Terminals give you shell access to containers.

Running Commands

  1. Click in the terminal
  2. Type your command
  3. Press Enter

Copy/Paste

  • Copy: Select text, right-click > Copy (or Ctrl/Cmd+C)
  • Paste: Right-click > Paste (or Ctrl/Cmd+V)

Common Issues

IssueSolution
Terminal not connectingWait for pod to be ready, refresh
Command not foundCheck you're in the right container
Permission deniedSome containers run as non-root

Using Web UIs

Web UIs show service interfaces in an iframe.

  • Use the UI as normal
  • Some UIs may require login (check instructions for credentials)

Opening in New Tab

Click the external link icon to open the UI in a new browser tab.

Lab Timer

Labs have a time limit (TTL):

  • The timer shows remaining time
  • Labs auto-stop when time expires
  • Your instructor sets the TTL

Need More Time?

If you need more time, contact your instructor. They may be able to extend or let you restart.

Stopping a Lab

When finished:

  1. Click Stop Lab in the header
  2. Confirm the action
  3. Your environment is cleaned up

Or simply let the lab expire automatically.

Lab States

StateDescription
StartingProvisioning in progress
RunningLab is active, you can work
StoppingCleanup in progress
StoppedLab ended, resources cleaned up
FailedSomething went wrong (see troubleshooting)

Tips for Success

Before Starting

  • Read the scenario description
  • Check the estimated duration
  • Ensure stable internet connection

During the Lab

  • Follow instructions carefully
  • Use copy buttons for code blocks
  • Check component status if something fails
  • Don't skip steps—they often build on each other

If Stuck

  • Re-read the current instruction
  • Check previous steps were completed
  • Look for troubleshooting tips in blockquotes
  • Ask your instructor for help

Next Steps

Released under the MIT License.