Skip to main content

Resource providers

This section is for HPC centre staff deciding whether and how to allow Cybershuttle: what it does on a Slurm cluster, what it needs, and how to observe and control it with existing Slurm and network tools. Of the components, three connect to a cluster directly:

ComponentWhereConnection
CS Bridge, the VS Code clientThe researcher's machineSSH to the login node, to run Slurm commands
AiravataOff the cluster: the public instance, or one the centre hosts itselfSSH to the login node, for Jupyter sessions and batch runs
LinkspanInside each session job, on a compute nodeOutbound to Airavata or a relay; the editor or browser reaches the job through it, so the cluster opens no port

Custos, the security component, acts only through services the centre runs, such as slurmrestd, and an optional PAM module; see Managing allocations.

Job properties​

Cybershuttle submits only ordinary Slurm jobs of a cluster account, installs no privileged component and opens no inbound port, so submit filters, QOS, partition limits and fairshare apply unchanged.

An interactive session is one job that runs Linkspan for the session's lifetime. A batch run is one job submitted under a cluster configuration: a record in Airavata naming a login user, an SSH key and a work root on one cluster.

PropertyInteractive sessions (VS Code, Jupyter)Batch runs
AccountThe researcher's own POSIX account and chosen Slurm accountThe configuration's login user; everyone the owner shares it with runs as that user, so Slurm attributes all their runs to it
Validationsbatch --test-only before each submission; a limit or submit filter answers before a job existsNone; a refused submission is recorded as SUBMISSION_FAILED
PrivilegeNone; writes only under ~/.cybershuttleNone; writes in <work root>/<process ID>
NetworkSSH to the login node from the researcher's machine (VS Code) or Airavata (Jupyter); outbound HTTPS from compute nodesSSH and SCP from Airavata to the login node; nothing from compute nodes
IdentificationJob name, the linkspan process and ~/.cybershuttle log pathsJob name equal to the Airavata process ID; --mail-user set to Airavata's mailbox

Visibility and control shows how to find and limit these jobs.

Decisions for a centre​

VS Code sessions need only the researcher's own SSH login and compute-node egress. The rest depends on:

DecisionWhy it arisesDetails
Outbound HTTPS from compute nodesEvery session connects outward from its job; without egress none connectsNetwork egress
Node sharing for session jobsLinkspan's control API has no password; other users on the node can call itKnown limitations
SSH logins from AiravataAiravata submits Jupyter sessions and batch runs with SSH keys it storesAiravata
Job e-mail to an external mailboxAiravata's batch server learns a run's state only from Slurm's mailJob e-mail
Hosting your own AiravataThe public instance holds Jupyter users' keys and sees their traffic; your own keeps both on your infrastructureWhen to host your own

Pages by role and stage​

RoleStart with
System administratorRequirements, Preparing the cluster
Security officerCluster security, Security model
Allocations or user-support officerManaging allocations, Visibility and control
StagePageCovers
PlanningRequirementsCommands, node software, network egress and job e-mail
PlanningCluster securityWhat runs on your nodes, what Airavata holds, known limitations
PlanningSecurity modelTrust boundaries, credentials, secrets and known gaps
PlanningManaging allocationsWhat Custos implements and what it does not
Setting upPreparing the clusterSSH, Slurm policy, node sharing, egress and mail, with a verification checklist
Setting upHosting AiravataRunning your own Airavata instance and pointing the clients at it
Setting upHosting the Jupyter siteBuilding and configuring the CS Jupyter site
Setting upConnecting CustosCustos's connectors to ACCESS, COmanage and Slurm; node enrolment
Setting upAiravata configurationInstalling, configuring and verifying both servers
Setting upAiravata architectureThe session and batch servers: packages, request handling, startup, batch orchestration
Setting upAiravata developmentBuild, test, lint and release
OperatingVisibility and controlIdentifying Cybershuttle jobs and limiting or blocking them
OperatingRunning in productionHealth, logs, backups, upgrades, secret rotation, incident response
OperatingRunning CustosHealth, reconciliation, backups, upgrades, secret rotation and troubleshooting of a Custos deployment
OperatingTroubleshootingProblems, causes and workarounds
OperatingCompatibilityComponent versions that work together and the documented commits
OperatingAiravata sessions and runsHow the session server runs a session, from start to run history
OperatingAiravata SSH hosts and keysStored hosts and keys, SSH configuration, interactive authentication
OperatingAiravata persistenceSchemas, files on disk, what a restart loses
OperatingAiravata HTTP APIEvery session and batch route

Contact​

Questions from resource providers, or a request to have a cluster tested, go to the cyber-shuttle GitHub organisation.