Skip to main content

abc doctor

Verifies that the CLI is correctly configured and can reach and submit work to the active cluster. Where abc cluster status (grove+ tiers) asks the server "are your services healthy?", abc doctor starts from your ~/.abc/config.yaml and proves the full client→alloc path end to end — the check you run first when something isn't working.

Usage

abc doctor # all three check groups
abc doctor --skip-job # config + connectivity only (no probe job)
abc doctor --context=seedling # check a named context, not the active one
abc doctor --json # machine-readable result object
abc doctor --job-timeout=2m # allow longer for the probe job to complete

Check groups

Three groups run in order; a failure in an earlier group still lets later groups run (so you see the full picture, not just the first error).

#GroupWhat it checks
1Configconfig.yaml loads, an active context is set, the Nomad address and access token are present.
2ConnectivityNomad is reachable and reports healthy. MinIO/S3 is probed when the active context has an S3 endpoint configured.
3WorkloadSubmits a minimal raw_exec batch probe job, waits up to the job timeout (default 60 s) for it to complete, then purges it. Proves submission + scheduling + completion actually work, not just connectivity. Skip with --skip-job.

Flags

FlagDefaultDescription
--skip-jobfalseRun groups 1 and 2 only — skip the workload probe. Useful on a constrained cluster or when you only want to validate config + reachability.
--context=<name>active contextRun the checks against a named context instead of the active one.
--jsonfalseEmit results as a single JSON object (one entry per check with pass/fail + detail).
--job-timeout=<dur>1mMaximum time to wait for the probe job to complete before declaring the workload check failed.

Exit codes

CodeMeaning
0All run checks passed.
1One or more checks failed.

abc doctor vs abc cluster status

abc doctorabc cluster status
Starting pointyour local config.yamlthe cluster's service registry
Provesthe full client → Nomad → alloc submission pathserver-side service health
Submits a job?yes (the workload probe) unless --skip-jobno
Use when"my CLI can't talk to the cluster — why?""is the cluster itself healthy?"

See also

  • abc cluster status (grove+ tiers) — server-side service health table
  • Global flags--context, --json, --quiet