Skip to main content

CLI Guide implemented

This page is for people using the CLI as a real surface, not as a hidden debug tool.

What The CLI Is

The CLI is the contract-first control client for:

  • human user and admin workflows;
  • operator read and action surfaces;
  • scriptable API consumption;
  • app and automation integration checks.

It should follow the same public contracts as the web product, not bypass them.

Reading Order

  1. Authenticate
  2. Verify active context
  3. Use project-scoped commands
  4. Switch to JSON output for scripts
  5. Use the app/runtime or operator families as needed

Core Model

ConcernCLI behavior
Authbrowser OIDC PKCE is the target human login path; Keycloak password login remains a local/demo stability path
Contextproject and tenant context are explicit and must be visible
Outputhuman-readable by default, JSON for scripts and automation
Contractcommands should match public API and shared-runtime explain/schema surfaces

Main Command Families

FamilyWhat it does
authlogin, identity, context
projectslist/select project context
cataloginspect launchable capacity
allocationscreate/list/release allocations
nodesinspect operator-visible node inventory
billingread financial posture
appsapp instance and shared-runtime flows
schema / explainmachine-readable contract discovery

Typical Interactive Flow

Local Demo Flow

The stable local flow is:

make build-cli
./dist/gpuaas-cli auth keycloak-login --username dev-user --password dev123 --base-url http://localhost:8081
./dist/gpuaas-cli auth whoami
./dist/gpuaas-cli projects list
./dist/gpuaas-cli catalog list
./dist/gpuaas-cli allocations list

Script / Automation Guidance

  • prefer --output json
  • assume canonical error envelope
  • keep project context explicit
  • use service accounts for long-running automation instead of human tokens