Astrona CLI¶
Astrona spins up local Kubernetes labs with kind, backed by whichever container runtime you have — Docker or Podman — or as a QEMU virtual machine when a lab needs a full OS instead of a container. Everything about a lab — its cluster, its bootstrap steps, its grading rules — is driven by a single YAML config file.
Astrona is the CLI behind astrona.io's hands-on labs, and it works the same way whether a lab config comes from a local directory, a URL, or a git repository — so anyone can author and run their own labs without the platform.
What it does¶
- Local kind clusters — auto-detects Docker or Podman on your
PATHand creates/deletes the kind cluster accordingly, no manual provider flags needed. - QEMU VM labs — for labs that need a real OS (not just a container),
runtime.type: qemuboots one or more VMs from a base image, with SSH wired up automatically. - Config from anywhere — point
--config/-cat a local directory, a local file, anhttp(s)://URL, or a git repository via--git. - Bootstrap — run init scripts and apply Kubernetes manifests when a lab starts.
- Testing stage — a CI-only stage that applies a reference solution, so a lab author can prove their own lab is actually solvable and passes grading before publishing it.
- Proctor grading — a student never grades their own work:
astrona submithands the environment to the Proctor, which runs declarative checks and/or custom scripts and returns a PASS/FAIL verdict. - CI-friendly —
astrona testruns the whole bootstrap → testing → submit → teardown pipeline in one command, with--junit-xmloutput for any CI system that understands JUnit.
Where to go next¶
- New to Astrona? Start with Installation, then run through the Quickstart.
- Building a lab? Authoring a Lab walks through the full
config.yamlshape with a worked example. - Looking up a flag or a YAML field? CLI Reference and Lab Config Schema are generated straight from the source.
- Wiring astrona into CI? CI Integration covers
astrona testand JUnit reporting.
Project links¶
- Source: github.com/astrona-io/astrona-cli
- Platform: astrona.io
- License: Apache License 2.0