This repository contains interactive session workflows for the Activate platform. Each workflow starts a web server on a compute cluster and connects it to the platform UI, giving users browser-based access to tools like JupyterLab, VS Code, VNC desktops, and web shells.
| Session | Description |
|---|---|
jupyterlab-host |
JupyterLab notebook environment |
jupyter-host |
Legacy Jupyter Notebook |
openvscode |
VS Code in the browser |
vncserver |
Remote desktop (VNC) with various GUI applications |
webshell |
Browser-based terminal |
Each session is defined by two bash scripts and one workflow YAML:
controller-v3.sh-- Runs on the controller (login) node. Installs software and downloads dependencies. This node has internet access.start-template-v3.sh-- Runs on the controller or compute node (depending on user selection). Starts the web service.- Workflow YAML (
workflow/yamls/<session>/<deployment>_v4.yaml) -- Defines the platform UI form, generates theinputs.shenvironment file, and calls thesession_runnersubworkflow.
All sessions use the session_runner subworkflow (workflow/session_runner/) which handles job scheduling, port allocation, SSH tunneling, and session registration with the platform.
The session_runner subworkflow has deployment-specific variants for different Activate platform installations:
| Deployment | File | Description |
|---|---|---|
general |
general.yaml |
Standard SLURM/PBS clusters |
emed |
emed.yaml |
Einstein Medical clusters |
noaa |
noaa.yaml |
NOAA clusters |
hsp |
hsp.yaml |
HSP clusters |
Each session also has per-deployment workflow YAMLs (e.g., general_v4.yaml, emed_v4.yaml) that configure the UI form and scheduler settings for that deployment.
Note: Some sessions also support Kubernetes deployments (e.g.,
general_k8s_v4.yaml), but thesession_runnersubworkflow is designed for compute (PBS/SLURM) clusters. Kubernetes sessions use a different orchestration approach withkubectldirectly.
.
├── jupyterlab-host/ # JupyterLab scripts
│ ├── controller-v3.sh # Controller node setup
│ └── start-template-v3.sh # Service start script
├── openvscode/ # VS Code scripts
├── vncserver/ # VNC desktop scripts
├── webshell/ # Web shell scripts
├── jupyter-host/ # Legacy Jupyter scripts
├── workflow/
│ ├── session_runner/ # Session runner subworkflow (per deployment)
│ ├── script_submitter/ # Script submitter subworkflow
│ ├── yamls/ # Workflow YAMLs (per session, per deployment)
│ ├── readmes/ # Per-session documentation shown in the UI
│ └── thumbnails/ # UI thumbnails
├── downloads/ # Binary dependencies (Git LFS)
└── examples/ # Example notebooks
See DeveloperGuide.md for step-by-step instructions on creating your own interactive session.