Skip to content

Repository files navigation

abc-cluster-cli

abc is the command line interface for the abc-cluster platform — submit pipelines, run Nomad jobs, manage workspaces and contexts, and inspect cluster state from the terminal.

Inspired by tower-cli; built around HashiCorp Nomad as the orchestration substrate.

Install

# Recommended — installer script (drops the binary in $PWD)
curl -fsSL -H "Accept: application/vnd.github.raw+json" \
  "https://api.github.com/repos/abc-cluster/abc-cluster-cli/contents/scripts/install-abc.sh?ref=main" | sh

# Install to /usr/local/bin/abc (prompts for sudo)
curl -fsSL -H "Accept: application/vnd.github.raw+json" \
  "https://api.github.com/repos/abc-cluster/abc-cluster-cli/contents/scripts/install-abc.sh?ref=main" | sh -s -- --sudo

# Or from Go
go install github.com/abc-cluster/abc-cluster-cli@latest

Quick start

# 1. Initialise local config
abc config init

# 2. Add a context for your cluster
abc auth context add lab \
  --address https://nomad.mylab.example:4646 \
  --access-token <your-nomad-acl-token> \
  --workspace default
abc auth context use lab

# 3. Run something
abc job run hello.sh --submit --watch
abc pipeline run https://github.com/nf-core/rnaseq --revision 3.14.0

See docs/quickstart.md for the full first-run walkthrough.

Documentation

Inspecting the env-var surface

abc admin env list                # every canonical env var, grouped by bucket
abc admin env show ABC_API_TOKEN  # full precedence walk for one variable
abc admin env validate            # detect forbidden patterns + shadowed values

Development

just check          # vet + mod verify + tests
just build          # produces ./abc
just gen            # regenerate registry-derived docs (env-vars.md)
just gen-check      # CI: fail on drift between registry and committed docs
just ci             # full pre-PR gate (fmt-check + check + gen-check)

Run just --list for the full task surface.

About

WIP: A CLI for the ABC-cluster

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages