Jobs
A job is a container that runs once and is removed with everything it wrote when it ends. Use it for tests, builds, data imports and one-off scripts. Each job runs in a sandbox of its own: a container, or a microVM with its own kernel where your operator chooses that.
Run one
Open Jobs and choose Run a job.
- Name: what you will know it by, such as
Unit tests. - Image: fully qualified, with its registry:
docker.io/library/alpine:3.20. - Command: what to run, split on spaces; quotes keep words together.
- Time limit and Memory: at most what your operator’s job limits allow.
- Network: off, the job has no network at all.
- Variables: a sealed value is a secret, handed to the job, never shown again, masked in its output and forgotten when it ends.
Choose Run. The job is queued, placed on a server with room, and run.
Watch it
The job’s window shows how it went: Queued, Starting, Running, then Succeeded, Failed with its exit code, Timed out, Cancelled, or Lost when its server went away. Follow live shows the output as a terminal while it runs; afterwards the output is kept, both streams. Cancel stops it now and keeps what it wrote so far.
The Jobs window lists recent jobs with their duration and exit code, how many passed and failed, the median time, and a chart of how long each run took.
From your CI or a script
Any job is one call: POST https://<realm>/api/jobs/run with an API key that may run jobs (API keys and OAuth):
curl -s https://cloud.example.se/api/jobs/run \
-H "Authorization: Bearer $VELRIX_API_KEY" -H "Content-Type: application/json" \
-d '{"name":"tests","image":"docker.io/library/rust:1.90","command":"cargo test","network":true}'
Beyond the form, a call can give the job a writable working directory with files in it, its disk size (on disk, or in memory), CPU cores and a process limit. jobs:status, jobs:logs and jobs:cancel follow it up. With a Git server connected, workflow jobs run this way by themselves (Git).
Limits
How long a job may run, its memory, CPU, disk and processes are policies your operator or your organisation sets. A job that asks for more is refused with one line naming the policy, what it allows and where it was set. A job in an organisation can be moved into one of its projects.