Skip to content

strata-cli

Recipe card from the charly-strata plugin (Images — the deployable catalog).

charly strata drives a running Strata engine from the HOST over its own HTTP API — the same API your clients use. It is a command:strata plugin, talks plain HTTP, and therefore works identically compiled-in or out-of-process with no reverse channel.

--server <url> > the engine’s own HOST/PORT (a container bind address (0.0.0.0) is mapped to 127.0.0.1 for client use) > http://127.0.0.1:8080. A schemeless value gets http:// prepended. That is the SERVER ROOT — the management routes live there, while the candy’s provided STRATA_BASE_URL is the OpenAI-compatible API root under /v1.

A charly deployment auto-allocates the host port, so charly status <name> is the authority on what to pass.

  • charly strata version — GET /health: status, model, max_context, and whether a key is set (api_key). Answered BEFORE the API-key gate, so it needs no secret.
  • charly strata status — GET /status.
  • charly strata models — GET /v1/models, the OpenAI-compatible list (there is NO management /models route).
  • charly strata props — GET /props, the loaded model’s properties.
  • charly strata config [<key>] — GET /config. With no argument it prints the engine’s whole published catalogue; with a key it prints that one value. The catalogue is the engine’s own, so nothing here hard-codes a key name that could drift.
  • charly strata metrics — GET /metrics.

The API key is read from API_KEY (the engine’s own name) or STRATA_API_KEY (the name a charly deployment supplies).

  • No config set. At the pinned engine version a config save replaces the volume’s run-config symlink with a regular file inside the image, so the volume never changes and the edit dies with the container (upstream #2547, still open). Non-runtime-editable configuration belongs in the deployment’s env:, which is the layer’s design.
  • No logs. The engine serves no logs route at all, and charly logs <name> already owns viewing a deployment’s output — a second surface would be a duplicate.