A short glossary of the ideas the rest of the documentation builds on.
An organisation (or org) is a workspace and the billing boundary. It owns labs, sessions, members and a plan. Members have a role: owner, admin, trainer or, for learners, a lighter participant access. Roles decide who can manage members, edit billing, author labs or run sessions.
A session is one scheduled run of a lab for a group of learners. It has a capacity, an optional start time, a set of participants and a state (scheduled, running, ended). Creating a session tells EduShell to pre-provision a ready environment for each seat.
A lab is the content: the instructions, the environment definition, and the automatic checks. Labs are versioned: you edit a draft, then publish a version. A session always runs a specific published version, so a class in progress never changes under the learners' feet.
An environment is the isolated infrastructure one learner works in: one or more containers, Kubernetes clusters or virtual machines, wired together with private networks. It runs on EduShell's infrastructure and is streamed to the browser, so there is nothing to install locally. Environments are verified before they are handed out, and reclaimed when the session ends.
Environments come in three tiers, by how much they cost to run. Usage is metered by a weight per tier:
| Tier | Weight | What it is |
|---|---|---|
| Container | x1 | Shell, scripting, single-container labs |
| Cluster | x1.5 | A real Kubernetes cluster per learner |
| Virtual machine | x3 | A full VM (kernel, systemd, nested tools) |
The weight multiplies the hours consumed, so an hour on a VM seat counts as three credit-hours.
EduShell bills by the credit-hour: one learner, in one environment, for one hour, times the tier weight. You pay for the hours your learners actually use, and the meter stops when a session ends. Each plan includes a monthly allowance of credit-hours; beyond it, overage is charged per hour. See the pricing page for the current grid.