Skip to main content

Quick start

Three steps from a fresh install to a real Nomad job. You need abc on your $PATH (Overview) and a pre-configured ~/.abc/config.yaml handed out by your workspace lead.

1. Bootstrap the config directory

abc config init # creates ~/.abc/config.yaml with a placeholder context

Then replace the placeholder with the YAML your workspace lead gave you:

cp ~/Downloads/<your-name>.yaml ~/.abc/config.yaml

2. Activate the seedling context

abc auth context use seedling

# Confirm the active context and your identity:
abc auth context show
abc auth whoami

3. Preflight with abc doctor

Before submitting anything, confirm the CLI can actually reach and run work on the cluster. abc doctor checks your config, connectivity, and submits a tiny probe job end-to-end:

abc doctor

# Config + connectivity only (skip the probe job):
abc doctor --skip-job

Exit code 0 means you're good to go. If a check fails, the output tells you which group (config / connectivity / workload) and why — fix that first. See Reference → doctor for the full check list.

4. Verify your workspace

One workload is baked into the CLI — no script file required:

# Randomised stress-ng job: exercises CPU, VM, and I/O stressors
abc job run hello-cluster

# Add a debug sleep to exec into the running allocation before work begins
abc job run hello-cluster --sleep=120s

Check that the job was submitted and watch it appear:

abc job list --status running
abc job show <job-id>

See what you got

After a few runs, ask the CLI what your work cost:

# Year-to-date summary: spend + emissions
abc report

# One row per job/pipeline with cost + emissions (jobs first)
abc report runs

# Forensic view — run IDs, Nomad job IDs, exit codes, namespaces
abc report runs --full

abc report reads ~/.abc/db/local.db only — no network calls — and prints a year-to-date personal summary: investigations explored, runs (succeeded vs. retried), compute consumed, and the period's spend + emissions estimate. abc report runs lists each run individually; job costs are exact, pipeline costs are pending the per-task cache aggregator (the rows are marked). See Reference → report for the full metric mapping, the --show-rate-card provenance view, and the JSON schema.

Trouble?

SymptomTry
Anything not workingabc doctor — runs config + connectivity + a probe job and tells you which layer failed
connect: connection refusedYou need to be on the Stellenbosch network or Tailscale VPN
403 Forbidden on submitabc auth context show — confirm the seedling context is active and your token is set
Job goes to wrong namespaceabc auth context show — the nomad_namespace field in your config controls the default
unknown commandabc --help, then abc <command> --help

Next steps