Skip to content

Tools

Tools are the interfaces available to the candidate or learner inside the sandbox. You configure them in the tools section of sandbox.yaml.

The name field of each tool becomes the tab label the candidate sees. Name tools after what they connect to, not what they are — cp and worker are clearer tabs than terminal1 and terminal2.

Layout

The instructions tool always renders on the left as a fixed panel. All other tools appear as switchable tabs on the right. ui.defaultTool controls which tab opens first.

The candidate can collapse the instructions panel to give the active tool more space.


Terminal

Opens a shell connection to a VM. The candidate sees a prompt in the form user@hostname:~$, where user is targetUser and hostname is targetHost. The connection reconnects automatically if it drops.

- name: cp
  terminal:
    version: v1
    targetHost: cp
    targetUser: tux

For multi-VM sandboxes, add one terminal per VM. Each becomes its own tab.

- name: cp
  terminal:
    version: v1
    targetHost: cp
    targetUser: tux
- name: worker
  terminal:
    version: v1
    targetHost: worker
    targetUser: tux

IDE

Opens VS Code for the Web connected to a VM via SSHFS. The file explorer shows the VM's filesystem rooted at workspaceDir. The candidate can create, edit, and save files directly on the VM.

- name: cp-editor
  ide:
    version: v1
    targetHost: cp
    targetUser: tux
    workspaceDir: /home/tux

workspaceDir defaults to the user's home directory if omitted.


Browser

Opens a browser pointed at a URL running inside the sandbox. Use the VM name as the hostname in startingURL — the platform routes it to the correct VM.

- name: browser
  browser:
    version: v1
    startingURL: "http://cp:8080"
    kioskMode: false

Set kioskMode: true to hide the browser toolbar and show only the web content.


Instructions

Renders a markdown file as a MkDocs site in the left panel. This is what the candidate reads. Code blocks get copy-to-clipboard buttons automatically. MkDocs admonitions render with full styling.

- name: instructions
  instructions:
    version: v1
    sourcePath: task.en.md

sourcePath is relative to the sandbox root. For labs, this is typically instructions.md.

Preview the instructions locally at any time:

sandbox instructions