Skip to content

Commit ad143db

Browse files
committed
Add updated schemas for Choria options
1 parent bfb2d52 commit ad143db

File tree

2 files changed

+542
-0
lines changed

2 files changed

+542
-0
lines changed

schemas/bolt-defaults.schema.json

Lines changed: 326 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@
9898
"transport": {
9999
"$ref": "#/definitions/transport"
100100
},
101+
"choria": {
102+
"$ref": "#/definitions/choria"
103+
},
101104
"docker": {
102105
"$ref": "#/definitions/docker"
103106
},
@@ -493,6 +496,7 @@
493496
{
494497
"type": "string",
495498
"enum": [
499+
"choria",
496500
"docker",
497501
"jail",
498502
"local",
@@ -508,6 +512,179 @@
508512
}
509513
]
510514
},
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+
},
511688
"docker": {
512689
"description": "A map of configuration options for the docker transport.",
513690
"oneOf": [
@@ -1630,6 +1807,75 @@
16301807
}
16311808
]
16321809
},
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+
},
16331879
"connect-timeout": {
16341880
"description": "How long to wait in seconds when establishing connections. Set this value higher if you frequently encounter connection timeout errors when running Bolt.",
16351881
"oneOf": [
@@ -1899,6 +2145,30 @@
18992145
}
19002146
]
19012147
},
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+
},
19022172
"native-ssh": {
19032173
"type": "boolean",
19042174
"description": "This enables the native SSH transport, which shells out to SSH instead of using the net-ssh Ruby library"
@@ -1968,6 +2238,17 @@
19682238
}
19692239
]
19702240
},
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+
},
19712252
"read-timeout": {
19722253
"description": "How long to wait in seconds when making requests to the Orchestrator.",
19732254
"oneOf": [
@@ -2085,6 +2366,39 @@
20852366
}
20862367
]
20872368
},
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+
},
20882402
"ssh-command": {
20892403
"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).",
20902404
"oneOf": [
@@ -2164,6 +2478,18 @@
21642478
}
21652479
]
21662480
},
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+
},
21672493
"tmpdir": {
21682494
"description": "The directory to upload and execute temporary files on the target.",
21692495
"oneOf": [

0 commit comments

Comments
 (0)