The imix command
What imix does besides running a script’s own CLI: starting and absorbing scripts, the proxy, the repositories, the hub and the settings.
| Command | What it does |
|---|---|
imix init [PATH] | write a starter script |
imix import DIR [-o PATH] [--all] | turn an existing playbook tree into a script |
imix SCRIPT ... | run a script’s own CLI |
imix container SCRIPT ... | run a script’s playbook in a container |
imix replay FILE | show a recorded run again |
imix spec [-o PATH] | print the OpenAPI document |
imix lsp | the language server |
imix proxy ... | run and manage the screening proxy |
imix repo ... | clone, list, sync and remove playbook repositories |
imix plays [PATH...] | find the instamix scripts, and say what each has |
imix serve [hub] [mcp] [proxy] | serve the inventory hub, the MCP server and the proxy, or some of them |
imix hub ... | the hub’s catalogue and actions: sync, actions, approve, deny, team, inventory |
imix mcp | the MCP server on stdin and stdout |
imix config ... | default options per command, globally or per repository |
The commands below are the ones the contract describes. proxy, repo
and config are groups: what each of their commands takes is in the
manual, and their options that can be defaults are in the
settings.
config#
imix configDefault options per command, from git-like config files.
~/.config/instamix/config holds the global ones, and the nearest
.instamixconfig up to the root of the git repository the ones for
there; the command line and environment variables still win. A key is
a command and one of its long options: run.install, env.upgrade,
proxy.serve.listen; proxy.url and proxy.list are where scripts fetch
through. keys lists them all.
container#
imix container SCRIPT_PATH [ARGS...]Run SCRIPT’s playbook in a container: imix container SCRIPT [--image IMAGE] [OPTIONS] [PLAYBOOK] [-- ANSIBLE ARGS], the script’s own
container command (SCRIPT container --help lists its options).
| Option | Takes | What it does |
|---|---|---|
SCRIPT_PATH | string | An argument, by its place. |
ARGS | array of string | An argument, by its place. |
import#
imix import DIRECTORY [OPTIONS]Turn an existing playbook DIRECTORY into one instamix script.
Files that look like they hold secrets – by name (.env, keys, vault passwords, …) or by content (API tokens, private keys) – are left out unless –all is given.
| Option | Takes | What it does |
|---|---|---|
DIRECTORY | string | An argument, by its place. |
--all | boolean | Also import files that look like they hold secrets. |
--force | boolean | Overwrite an existing script. |
--output | string | Write the script here instead of stdout. |
init#
imix init [PATH] [OPTIONS]Write a starter script to PATH (default: site.py).
| Option | Takes | What it does |
|---|---|---|
PATH | string | An argument, by its place. |
--force | boolean | Overwrite an existing script. |
plays#
imix playsFind the instamix scripts, and say what each has.
proxy#
imix proxyA screening proxy for Galaxy and PyPI: cache, allow and deny.
replay#
imix replay FILE [OPTIONS]Show a run recorded with –record (or saved –jsonl output; - for stdin): what ran, each play and task, every host’s result, what failed and why, and the recap.
| Option | Takes | What it does |
|---|---|---|
FILE | string | An argument, by its place. |
--failed | boolean | Only what failed or was unreachable. |
--host | string | Only this host. |
--results | boolean | Each result in full. |
repo#
imix repoPlaybook repositories: clone, list, sync, remove.