Skip to content
↗ Astrona.io Cloud Native learning, open to everyone.

Astrona init lab

astrona init lab

Create a starter kind lab — config, docs, reference solution, CI workflow

Synopsis

Create a working kind lab in

to build yours from: config.yaml (with editor schema, preloaded image, readiness gates, jsonpath/count/resourceExists checks with hints and points), the four student docs, a bootstrap manifest, a reference solution for astrona test, and a GitHub Actions workflow running validate + test on every pull request.

--linked adds a second kind cluster running side by side (runtime.kind.clusters): a backend service published as a NodePort, a task that reaches it from the lab's cluster, and a check graded in the backend cluster — see the Linked Labs guide.

It passes astrona validate and astrona test as generated — change it from there.

astrona init lab <dir> [flags]

Examples

  astrona init lab ./k8s-web-01
  astrona init lab ./labs/networking-01 --name net-01
  astrona init lab ./auth-01 --linked

Options

  -h, --help          help for lab
      --linked        Add a second kind cluster ("backend") running side by side, with a task and checks across both
      --name string   Lab name (metadata.name); default: the directory name

Options inherited from parent commands

      --accept-terms      Accept this CLI's usage terms and data-loss risk notice; required on each operational CI command (read: astrona terms)
  -c, --config string     Path or URL to the lab config directory (with --git: a subdirectory within the cloned repo) (default ".")
  -f, --file string       Configuration file name override (default "config.yaml")
      --git string        Git repository URL to clone/pull (https://, git@host:, or ssh://) — --config then selects a subdirectory within it
      --git-ref string    Git branch, tag, or commit to check out (used with --git; default: the repo's default branch)
      --headless          Disable the terminal UI and CLI prompts; run/reset skip login reminders and new account sessions
      --install-version   If the lab needs another astrona release (astronaVersion) that isn't installed, install it without asking — for CI
      --trust             Approve running a remote (--git / URL) lab without asking — for CI; review the lab first
      --update-check      Check for new CLI releases (disabled in CI, without a terminal, or by ASTRONA_NO_UPDATE_CHECK) (default true)
      --verbose           Stream the full output of every underlying command instead of the compact step view

SEE ALSO

Auto generated by spf13/cobra on 20-Oct-2026