# cellos

Canonical install entry point for the CellOS operator tool.

```bash
cargo install cellos
```

Produces a single `cellctl` binary — the kubectl-style CLI for CellOS
execution cells and formations. All logic lives in the
[`cellos-ctl`](https://crates.io/crates/cellos-ctl) crate; this crate
exists so the install command matches the project name.

## What's installed

- `cellctl` — operator CLI (apply / get / describe / delete / logs /
  events / rollout / diff / config / version / webui). See
  [`cellos-ctl`](https://crates.io/crates/cellos-ctl) for the full
  command surface.

## What's NOT installed (deployment-side, separate crates)

| Component | Install command | Audience |
|---|---|---|
| [`cellos-server`](https://crates.io/crates/cellos-server) | `cargo install cellos-server` | Cluster operators running the HTTP control plane |
| [`cellos-supervisor`](https://crates.io/crates/cellos-supervisor) | `cargo install cellos-supervisor` | Hosts that run cells (Firecracker / gVisor) |

This split matches the kubectl model: `cargo install cellos` puts the
operator tool on your laptop; the cluster-side runners are installed
separately on the machines that actually run them, typically via
container images or system packages rather than `cargo install`.

## Quick start

```bash
cargo install cellos

cellctl config set-server http://127.0.0.1:8080
cellctl config set-token "$CELLOS_API_TOKEN"

cellctl apply -f formation.yaml
cellctl get formations -o wide
cellctl events --follow
cellctl webui --open       # localhost reverse proxy + bundled React view
```

See the [CellOS README](https://github.com/0ryant/CellOS) for the full
architecture, ADRs, and operator guides.

## License

MIT OR Apache-2.0.
