Skip to main content

Crate cellos_ctl

Crate cellos_ctl 

Source
Expand description

cellctl — kubectl-style CLI for CellOS.

Doctrine alignment (CHATROOM Session 16):

  • Thin client. Every subcommand corresponds to exactly one HTTP call against cellos-server. No client-side state, no caches, no projections.
  • Events are the source of truth. cellctl logs and cellctl events surface the CloudEvent stream verbatim; the state machine lives in the server-side projector.
  • Exit codes are a contract. 0=success, 1=usage, 2=API, 3=validation. Errors go to stderr; machine-readable output goes to stdout.

See crates/cellos-ctl/src/exit.rs for the exit-code definitions.

§Public entry

Most consumers run the cellctl binary directly. The cellos meta-crate at crates/cellos-meta/ re-exports this crate’s run as one of its three installable binaries so cargo install cellos ships cellctl, cellos-server, and cellos-supervisor in one go.

Modules§

client
HTTP client wrapping reqwest for cellos-server.
cmd
config
cellctl configuration — persisted at ~/.cellctl/config (TOML).
exit
Exit-code discipline — kubectl/POSIX-aligned, aligned with CellOS engineering doctrine.
model
Wire-level types for the cellos-server HTTP API.
output
Output rendering — --output table|json|wide|name.

Functions§

run
Run the cellctl CLI. Returns when the command completes or exits the process on error via CtlError::exit. This is the entry point both the standalone cellctl binary and the cellos meta-crate’s cellctl shim call into.