|
98 | 98 | "transport": { |
99 | 99 | "$ref": "#/definitions/transport" |
100 | 100 | }, |
| 101 | + "choria": { |
| 102 | + "$ref": "#/definitions/choria" |
| 103 | + }, |
101 | 104 | "docker": { |
102 | 105 | "$ref": "#/definitions/docker" |
103 | 106 | }, |
|
493 | 496 | { |
494 | 497 | "type": "string", |
495 | 498 | "enum": [ |
| 499 | + "choria", |
496 | 500 | "docker", |
497 | 501 | "jail", |
498 | 502 | "local", |
|
508 | 512 | } |
509 | 513 | ] |
510 | 514 | }, |
| 515 | + "choria": { |
| 516 | + "description": "A map of configuration options for the choria transport.", |
| 517 | + "oneOf": [ |
| 518 | + { |
| 519 | + "type": "object", |
| 520 | + "properties": { |
| 521 | + "choria-agent": { |
| 522 | + "oneOf": [ |
| 523 | + { |
| 524 | + "$ref": "#/transport_definitions/choria-agent" |
| 525 | + }, |
| 526 | + { |
| 527 | + "$ref": "#/definitions/_plugin" |
| 528 | + } |
| 529 | + ] |
| 530 | + }, |
| 531 | + "cleanup": { |
| 532 | + "oneOf": [ |
| 533 | + { |
| 534 | + "$ref": "#/transport_definitions/cleanup" |
| 535 | + }, |
| 536 | + { |
| 537 | + "$ref": "#/definitions/_plugin" |
| 538 | + } |
| 539 | + ] |
| 540 | + }, |
| 541 | + "collective": { |
| 542 | + "oneOf": [ |
| 543 | + { |
| 544 | + "$ref": "#/transport_definitions/collective" |
| 545 | + }, |
| 546 | + { |
| 547 | + "$ref": "#/definitions/_plugin" |
| 548 | + } |
| 549 | + ] |
| 550 | + }, |
| 551 | + "command-timeout": { |
| 552 | + "oneOf": [ |
| 553 | + { |
| 554 | + "$ref": "#/transport_definitions/command-timeout" |
| 555 | + }, |
| 556 | + { |
| 557 | + "$ref": "#/definitions/_plugin" |
| 558 | + } |
| 559 | + ] |
| 560 | + }, |
| 561 | + "config-file": { |
| 562 | + "oneOf": [ |
| 563 | + { |
| 564 | + "$ref": "#/transport_definitions/config-file" |
| 565 | + }, |
| 566 | + { |
| 567 | + "$ref": "#/definitions/_plugin" |
| 568 | + } |
| 569 | + ] |
| 570 | + }, |
| 571 | + "host": { |
| 572 | + "oneOf": [ |
| 573 | + { |
| 574 | + "$ref": "#/transport_definitions/host" |
| 575 | + }, |
| 576 | + { |
| 577 | + "$ref": "#/definitions/_plugin" |
| 578 | + } |
| 579 | + ] |
| 580 | + }, |
| 581 | + "interpreters": { |
| 582 | + "oneOf": [ |
| 583 | + { |
| 584 | + "$ref": "#/transport_definitions/interpreters" |
| 585 | + }, |
| 586 | + { |
| 587 | + "$ref": "#/definitions/_plugin" |
| 588 | + } |
| 589 | + ] |
| 590 | + }, |
| 591 | + "nats-connection-timeout": { |
| 592 | + "oneOf": [ |
| 593 | + { |
| 594 | + "$ref": "#/transport_definitions/nats-connection-timeout" |
| 595 | + }, |
| 596 | + { |
| 597 | + "$ref": "#/definitions/_plugin" |
| 598 | + } |
| 599 | + ] |
| 600 | + }, |
| 601 | + "nats-servers": { |
| 602 | + "oneOf": [ |
| 603 | + { |
| 604 | + "$ref": "#/transport_definitions/nats-servers" |
| 605 | + }, |
| 606 | + { |
| 607 | + "$ref": "#/definitions/_plugin" |
| 608 | + } |
| 609 | + ] |
| 610 | + }, |
| 611 | + "puppet-environment": { |
| 612 | + "oneOf": [ |
| 613 | + { |
| 614 | + "$ref": "#/transport_definitions/puppet-environment" |
| 615 | + }, |
| 616 | + { |
| 617 | + "$ref": "#/definitions/_plugin" |
| 618 | + } |
| 619 | + ] |
| 620 | + }, |
| 621 | + "rpc-timeout": { |
| 622 | + "oneOf": [ |
| 623 | + { |
| 624 | + "$ref": "#/transport_definitions/rpc-timeout" |
| 625 | + }, |
| 626 | + { |
| 627 | + "$ref": "#/definitions/_plugin" |
| 628 | + } |
| 629 | + ] |
| 630 | + }, |
| 631 | + "ssl-ca": { |
| 632 | + "oneOf": [ |
| 633 | + { |
| 634 | + "$ref": "#/transport_definitions/ssl-ca" |
| 635 | + }, |
| 636 | + { |
| 637 | + "$ref": "#/definitions/_plugin" |
| 638 | + } |
| 639 | + ] |
| 640 | + }, |
| 641 | + "ssl-cert": { |
| 642 | + "oneOf": [ |
| 643 | + { |
| 644 | + "$ref": "#/transport_definitions/ssl-cert" |
| 645 | + }, |
| 646 | + { |
| 647 | + "$ref": "#/definitions/_plugin" |
| 648 | + } |
| 649 | + ] |
| 650 | + }, |
| 651 | + "ssl-key": { |
| 652 | + "oneOf": [ |
| 653 | + { |
| 654 | + "$ref": "#/transport_definitions/ssl-key" |
| 655 | + }, |
| 656 | + { |
| 657 | + "$ref": "#/definitions/_plugin" |
| 658 | + } |
| 659 | + ] |
| 660 | + }, |
| 661 | + "task-timeout": { |
| 662 | + "oneOf": [ |
| 663 | + { |
| 664 | + "$ref": "#/transport_definitions/task-timeout" |
| 665 | + }, |
| 666 | + { |
| 667 | + "$ref": "#/definitions/_plugin" |
| 668 | + } |
| 669 | + ] |
| 670 | + }, |
| 671 | + "tmpdir": { |
| 672 | + "oneOf": [ |
| 673 | + { |
| 674 | + "$ref": "#/transport_definitions/tmpdir" |
| 675 | + }, |
| 676 | + { |
| 677 | + "$ref": "#/definitions/_plugin" |
| 678 | + } |
| 679 | + ] |
| 680 | + } |
| 681 | + } |
| 682 | + }, |
| 683 | + { |
| 684 | + "$ref": "#/definitions/_plugin" |
| 685 | + } |
| 686 | + ] |
| 687 | + }, |
511 | 688 | "docker": { |
512 | 689 | "description": "A map of configuration options for the docker transport.", |
513 | 690 | "oneOf": [ |
|
1630 | 1807 | } |
1631 | 1808 | ] |
1632 | 1809 | }, |
| 1810 | + "choria-agent": { |
| 1811 | + "description": "Which Choria agent to use for task execution. Defaults to 'bolt_tasks' (downloads task files from a Puppet Server). Set to 'shell' for tasks not available on the Puppet Server.", |
| 1812 | + "oneOf": [ |
| 1813 | + { |
| 1814 | + "type": "string" |
| 1815 | + }, |
| 1816 | + { |
| 1817 | + "$ref": "#/definitions/_plugin" |
| 1818 | + } |
| 1819 | + ] |
| 1820 | + }, |
| 1821 | + "collective": { |
| 1822 | + "description": "The Choria collective to target. Overrides the main_collective from the Choria client configuration file.", |
| 1823 | + "oneOf": [ |
| 1824 | + { |
| 1825 | + "type": "string" |
| 1826 | + }, |
| 1827 | + { |
| 1828 | + "$ref": "#/definitions/_plugin" |
| 1829 | + } |
| 1830 | + ] |
| 1831 | + }, |
| 1832 | + "command-timeout": { |
| 1833 | + "description": "How long to wait in seconds for commands and scripts to complete when using the Choria transport.", |
| 1834 | + "oneOf": [ |
| 1835 | + { |
| 1836 | + "type": "integer", |
| 1837 | + "minimum": 1 |
| 1838 | + }, |
| 1839 | + { |
| 1840 | + "$ref": "#/definitions/_plugin" |
| 1841 | + } |
| 1842 | + ] |
| 1843 | + }, |
| 1844 | + "config-file": { |
| 1845 | + "description": "The path to the Choria or MCollective client configuration file.", |
| 1846 | + "oneOf": [ |
| 1847 | + { |
| 1848 | + "type": "string" |
| 1849 | + }, |
| 1850 | + { |
| 1851 | + "$ref": "#/definitions/_plugin" |
| 1852 | + } |
| 1853 | + ] |
| 1854 | + }, |
| 1855 | + "nats-connection-timeout": { |
| 1856 | + "description": "How long to wait in seconds for the initial TCP connection to the NATS broker. If the connection cannot be made within this time, the operation fails.", |
| 1857 | + "oneOf": [ |
| 1858 | + { |
| 1859 | + "type": "integer", |
| 1860 | + "minimum": 1 |
| 1861 | + }, |
| 1862 | + { |
| 1863 | + "$ref": "#/definitions/_plugin" |
| 1864 | + } |
| 1865 | + ] |
| 1866 | + }, |
| 1867 | + "rpc-timeout": { |
| 1868 | + "description": "How long to wait in seconds for nodes to respond to an RPC request. Used for lightweight operations like agent discovery, shell.start, and shell.list polling. Distinct from command-timeout and task-timeout which govern the overall duration of commands and tasks.", |
| 1869 | + "oneOf": [ |
| 1870 | + { |
| 1871 | + "type": "integer", |
| 1872 | + "minimum": 1 |
| 1873 | + }, |
| 1874 | + { |
| 1875 | + "$ref": "#/definitions/_plugin" |
| 1876 | + } |
| 1877 | + ] |
| 1878 | + }, |
1633 | 1879 | "connect-timeout": { |
1634 | 1880 | "description": "How long to wait in seconds when establishing connections. Set this value higher if you frequently encounter connection timeout errors when running Bolt.", |
1635 | 1881 | "oneOf": [ |
|
1899 | 2145 | } |
1900 | 2146 | ] |
1901 | 2147 | }, |
| 2148 | + "nats-servers": { |
| 2149 | + "description": "One or more NATS server addresses for the Choria transport. Overrides the middleware hosts from the Choria client configuration file. Can be a single string or an array.", |
| 2150 | + "oneOf": [ |
| 2151 | + { |
| 2152 | + "type": [ |
| 2153 | + "string", |
| 2154 | + "array" |
| 2155 | + ], |
| 2156 | + "items": { |
| 2157 | + "oneOf": [ |
| 2158 | + { |
| 2159 | + "type": "string" |
| 2160 | + }, |
| 2161 | + { |
| 2162 | + "$ref": "#/definitions/_plugin" |
| 2163 | + } |
| 2164 | + ] |
| 2165 | + } |
| 2166 | + }, |
| 2167 | + { |
| 2168 | + "$ref": "#/definitions/_plugin" |
| 2169 | + } |
| 2170 | + ] |
| 2171 | + }, |
1902 | 2172 | "native-ssh": { |
1903 | 2173 | "type": "boolean", |
1904 | 2174 | "description": "This enables the native SSH transport, which shells out to SSH instead of using the net-ssh Ruby library" |
|
1968 | 2238 | } |
1969 | 2239 | ] |
1970 | 2240 | }, |
| 2241 | + "puppet-environment": { |
| 2242 | + "description": "The Puppet environment to use when constructing task file URIs for the Choria bolt_tasks agent.", |
| 2243 | + "oneOf": [ |
| 2244 | + { |
| 2245 | + "type": "string" |
| 2246 | + }, |
| 2247 | + { |
| 2248 | + "$ref": "#/definitions/_plugin" |
| 2249 | + } |
| 2250 | + ] |
| 2251 | + }, |
1971 | 2252 | "read-timeout": { |
1972 | 2253 | "description": "How long to wait in seconds when making requests to the Orchestrator.", |
1973 | 2254 | "oneOf": [ |
|
2085 | 2366 | } |
2086 | 2367 | ] |
2087 | 2368 | }, |
| 2369 | + "ssl-ca": { |
| 2370 | + "description": "The path to the CA certificate for Choria TLS connections. Overrides the CA from the Choria client configuration file.", |
| 2371 | + "oneOf": [ |
| 2372 | + { |
| 2373 | + "type": "string" |
| 2374 | + }, |
| 2375 | + { |
| 2376 | + "$ref": "#/definitions/_plugin" |
| 2377 | + } |
| 2378 | + ] |
| 2379 | + }, |
| 2380 | + "ssl-cert": { |
| 2381 | + "description": "The path to the client certificate for Choria TLS connections. Overrides the certificate from the Choria client configuration file.", |
| 2382 | + "oneOf": [ |
| 2383 | + { |
| 2384 | + "type": "string" |
| 2385 | + }, |
| 2386 | + { |
| 2387 | + "$ref": "#/definitions/_plugin" |
| 2388 | + } |
| 2389 | + ] |
| 2390 | + }, |
| 2391 | + "ssl-key": { |
| 2392 | + "description": "The path to the client private key for Choria TLS connections. Overrides the key from the Choria client configuration file.", |
| 2393 | + "oneOf": [ |
| 2394 | + { |
| 2395 | + "type": "string" |
| 2396 | + }, |
| 2397 | + { |
| 2398 | + "$ref": "#/definitions/_plugin" |
| 2399 | + } |
| 2400 | + ] |
| 2401 | + }, |
2088 | 2402 | "ssh-command": { |
2089 | 2403 | "description": "The command and options to use when SSHing. This option is used when you need support for features or algorithms that are not supported by the net-ssh Ruby library. **This option is experimental.** You can read more about this option in [Native SSH transport](experimental_features.md#native-ssh-transport).", |
2090 | 2404 | "oneOf": [ |
|
2164 | 2478 | } |
2165 | 2479 | ] |
2166 | 2480 | }, |
| 2481 | + "task-timeout": { |
| 2482 | + "description": "How long to wait in seconds for tasks to complete when using the Choria transport.", |
| 2483 | + "oneOf": [ |
| 2484 | + { |
| 2485 | + "type": "integer", |
| 2486 | + "minimum": 1 |
| 2487 | + }, |
| 2488 | + { |
| 2489 | + "$ref": "#/definitions/_plugin" |
| 2490 | + } |
| 2491 | + ] |
| 2492 | + }, |
2167 | 2493 | "tmpdir": { |
2168 | 2494 | "description": "The directory to upload and execute temporary files on the target.", |
2169 | 2495 | "oneOf": [ |
|
0 commit comments