@@ -86,24 +86,37 @@ targets:
8686
8787# ## Config option reference
8888
89- | Option | Type | Default | Description |
90- |--------|------|---------|-------------|
91- | `choria-agent` | String | `bolt_tasks` | Agent for task execution : ` bolt_tasks` or `shell`. Also available as `--choria-agent` CLI flag. |
92- | `cleanup` | Boolean | `true` | Clean up temp directories after operations. Set to `false` for debugging. |
93- | `collective` | String | (from Choria config file) | Choria collective to route messages through. Per-target. |
94- | `command-timeout` | Integer | `60` | Seconds to wait for commands and scripts to complete. |
95- | `config-file` | String | (auto-detected) | Path to a Choria/MCollective client config file. |
96- | `host` | String | (from URI) | Target's Choria identity (FQDN). Overrides the hostname from the URI. |
97- | `interpreters` | Hash | (none) | File extension to interpreter mapping (e.g., `{".rb" : " /usr/bin/ruby" }`). |
98- | `nats-connection-timeout` | Integer | `30` | Seconds to wait for the TCP connection to the NATS broker. |
99- | `nats-servers` | String or Array | (from Choria config file) | NATS broker addresses. Overrides the config file. |
100- | `puppet-environment` | String | `production` | Puppet environment for bolt_tasks file URIs. |
101- | `rpc-timeout` | Integer | `30` | Seconds to wait for replies to individual RPC calls. |
102- | `ssl-ca` | String | (from Choria config file) | CA certificate path for TLS. |
103- | `ssl-cert` | String | (from Choria config file) | Client certificate path for TLS. |
104- | `ssl-key` | String | (from Choria config file) | Client private key path for TLS. |
105- | `task-timeout` | Integer | `300` | Seconds to wait for task execution to complete. |
106- | `tmpdir` | String | `/tmp` or `C:\Windows\Temp` | Base path for temp directories on remote nodes. Must be absolute. |
89+ | Option | CLI Flag | Type | Default | Description |
90+ |--------|----------|------|---------|-------------|
91+ | `task-agent` | `--choria-task-agent` | String | `bolt_tasks` | Agent for task execution : ` bolt_tasks` or `shell`. |
92+ | `cleanup` | `--cleanup` | Boolean | `true` | Clean up temp directories after operations. Set to `false` for debugging. |
93+ | `collective` | `--choria-collective` | String | (from config file) | Choria collective to route messages through. Per-target. |
94+ | `command-timeout` | `--choria-command-timeout` | Integer | `60` | Seconds to wait for commands and scripts to complete. |
95+ | `config-file` | `--choria-config-file` | String | (auto-detected) | Path to a Choria/MCollective client config file. |
96+ | `host` | | String | (from URI) | Target's Choria identity (FQDN). Overrides the hostname from the URI. |
97+ | `interpreters` | | Hash | (none) | File extension to interpreter mapping (e.g., `{".rb" : " /usr/bin/ruby" }`). |
98+ | `nats-connection-timeout` | `--nats-connection-timeout` | Integer | `30` | Seconds to wait for the TCP connection to the NATS broker. |
99+ | `nats-servers` | `--nats-servers` | String or Array | (from config file) | NATS broker addresses in `nats://host:port` format (comma-separated for multiple). Multiple servers provide failover if a broker is unavailable. Overrides the config file. |
100+ | `puppet-environment` | `--choria-puppet-environment` | String | `production` | Puppet environment for bolt_tasks file URIs. |
101+ | `rpc-timeout` | `--choria-rpc-timeout` | Integer | `30` | Seconds to wait for replies to individual RPC calls. |
102+ | `ssl-ca` | `--choria-ssl-ca` | String | (from config file) | CA certificate path for TLS. |
103+ | `ssl-cert` | `--choria-ssl-cert` | String | (from config file) | Client certificate path for TLS. |
104+ | `ssl-key` | `--choria-ssl-key` | String | (from config file) | Client private key path for TLS. |
105+ | `task-timeout` | `--choria-task-timeout` | Integer | `300` | Seconds to wait for task execution to complete. |
106+ | `tmpdir` | `--tmpdir` | String | `/tmp` or `C:\Windows\Temp` | Base path for temp directories on remote nodes. Must be absolute. |
107+
108+ **CLI flag precedence:** CLI flags provide default values that can be
109+ overridden by inventory-level config (per-group or per-target). For example,
110+ if a target has `collective : staging` in its inventory entry and
111+ ` --choria-collective production` is passed on the CLI, the inventory value
112+ wins. For ad-hoc targets specified via `--targets` that aren't defined in an
113+ inventory file, CLI flags take full effect.
114+
115+ For options that have corresponding values in the Choria config file
116+ (`nats-servers`, `ssl-ca`/`ssl-cert`/`ssl-key`, and `collective`), the full
117+ precedence from lowest to highest is : Choria config file < CLI flags <
118+ inventory. All other options use OpenBolt-level defaults and are not affected by
119+ the Choria config file.
107120
108121**Timeout hierarchy:** Three levels of timeout control different things:
109122- `nats-connection-timeout` (30s) : How long to wait for the initial TCP
@@ -160,7 +173,7 @@ Works with either the **bolt_tasks** or **shell** agent.
160173bolt task run facts --targets node1.example.com
161174
162175# Use shell agent for local tasks not on the OpenVox/Puppet Server
163- bolt task run my_project::check --targets node1.example.com --choria-agent shell
176+ bolt task run my_project::check --targets node1.example.com --choria-task- agent shell
164177` ` `
165178
166179Agent selection is deterministic with no automatic fallback. If the selected
@@ -198,7 +211,7 @@ installed on target nodes.
198211With the shell agent :
199212- ` run_command` and `run_script` work
200213- ` run_task` can use either agent (bolt_tasks by default, or shell with
201- ` --choria-agent shell` )
214+ ` --choria-task- agent shell` )
202215
203216The shell agent DDL (required by the client library) is bundled with OpenBolt
204217and loaded automatically. No client-side setup is needed.
@@ -270,8 +283,8 @@ modulepath:
270283
271284Server-side paths are listed first so that OpenBolt reads the same module versions
272285that the bolt_tasks agent will download from the server. When using
273- ` --choria-agent shell` , OpenBolt uploads task files directly, so local modules
274- should take precedence instead — put `modules` first or omit the server paths.
286+ ` --choria-task- agent shell` , OpenBolt uploads task files directly, so local modules
287+ should take precedence instead -- put `modules` first or omit the server paths.
275288
276289OpenBolt also auto-injects its own internal paths (visible in `--log-level debug`
277290output) : ` bolt-modules` is prepended, and `.modules` plus the gem's built-in
@@ -308,22 +321,22 @@ bolt/choria-task-download-failed: ... ruby_task_helper/files/task_helper.rb: 404
308321# ## Using the shell agent for tasks
309322
310323If a task is not available on the OpenVox/Puppet Server (e.g., it's a local project
311- task), set `choria -agent` to `shell` to upload and execute it directly via
324+ task), set `task -agent` to `shell` to upload and execute it directly via
312325the shell agent, bypassing the OpenVox/Puppet Server entirely :
313326
314327` ` ` yaml
315328# bolt-project.yaml
316329choria:
317- choria -agent: shell
330+ task -agent: shell
318331` ` `
319332
320333Or per-invocation :
321334
322335` ` ` bash
323- bolt task run my_project::check --targets node1 --choria-agent shell
336+ bolt task run my_project::check --targets node1 --choria-task- agent shell
324337` ` `
325338
326- When using `--choria-agent shell`, the OpenVox/Puppet Server requirement is bypassed
339+ When using `--choria-task- agent shell`, the OpenVox/Puppet Server requirement is bypassed
327340entirely. OpenBolt uploads task files directly via the shell agent, so only the
328341local modulepath matters.
329342
@@ -338,7 +351,7 @@ local modulepath matters.
338351
3393523. **bolt_tasks requires an OpenVox/Puppet Server.** The bolt_tasks agent downloads
340353 task files from the OpenVox/Puppet Server. Tasks not served by the OpenVox/Puppet Server
341- will fail with an error suggesting `--choria-agent shell`.
354+ will fail with an error suggesting `--choria-task- agent shell`.
342355
3433564. **No streaming output.** All output is returned on completion, not streamed
344357 incrementally.
@@ -354,7 +367,7 @@ local modulepath matters.
354367 after OpenBolt reports a timeout (bolt_tasks has no kill mechanism).
355368
3563698. **File size limit for shell agent uploads.** When using the shell agent
357- (`run_script`, `run_task` with `--choria-agent shell`), files are
370+ (`run_script`, `run_task` with `--choria-task- agent shell`), files are
358371 base64-encoded and sent as RPC messages. The maximum file size is limited
359372 by the NATS max message size (default 1MB, roughly 750KB effective after
360373 base64 overhead). Increase `plugin.choria.network.client_max_payload` in
0 commit comments