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 logsandcellctl eventssurface 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
cellctlCLI. Returns when the command completes or exits the process on error viaCtlError::exit. This is the entry point both the standalonecellctlbinary and thecellosmeta-crate’scellctlshim call into.