choria-mcorpc-support 2.26.1 → 2.26.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/mcollective/agent/aaa_signer.ddl +14 -1
- data/lib/mcollective/agent/aaa_signer.json +9 -1
- data/lib/mcollective/agent/choria_provision.ddl +118 -40
- data/lib/mcollective/agent/choria_provision.json +124 -46
- data/lib/mcollective/agent/choria_registry.ddl +31 -1
- data/lib/mcollective/agent/choria_registry.json +29 -1
- data/lib/mcollective/agent/choria_util.ddl +5 -1
- data/lib/mcollective/agent/choria_util.json +1 -1
- data/lib/mcollective/agent/rpcutil.ddl +16 -2
- data/lib/mcollective/agent/rpcutil.json +13 -2
- data/lib/mcollective/agent/scout.ddl +31 -4
- data/lib/mcollective/agent/scout.json +25 -4
- data/lib/mcollective/pluginpackager/forge_packager.rb +1 -1
- data/lib/mcollective/shell.rb +0 -1
- data/lib/mcollective/util/choria.rb +3 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3afcdee832e60d663bb3b6191631a315dfa017297620227c73fec431acaec163
|
4
|
+
data.tar.gz: a643991b5feb3f8f19ab71c3ff66a4cef89dd1f0c1208882ef12fcddeec037d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d85ba1e2515ef6282ac3c2d62c0612987d187f1539a30533c6c5da5389c60fd61aec7be8741934ecb3fcf717f681817e1cf606c9e8d38ec7a8699ea6a2a81dbc
|
7
|
+
data.tar.gz: cba939b5c47ead81430299df123f4e779cda4c1116e36ebef2e25bb420e21c761818a6045f8d97447b5b3fc82201edbf45ef72a2ef471b2b6f6344084f751421
|
@@ -1,8 +1,12 @@
|
|
1
|
+
-- Copyright (c) 2024, R.I. Pienaar and the Choria Project contributors
|
2
|
+
--
|
3
|
+
-- SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
1
5
|
metadata :name => "aaa_signer",
|
2
6
|
:description => "Request Signer for Choria AAA Service",
|
3
7
|
:author => "R.I.Pienaar <rip@devco.net>",
|
4
8
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
9
|
+
:version => "0.28.0",
|
6
10
|
:url => "https://github.com/choria-io/aaasvc",
|
7
11
|
:provider => "golang",
|
8
12
|
:service => true,
|
@@ -21,6 +25,15 @@ action "sign", :description => "Signs a RPC Request on behalf of a user" do
|
|
21
25
|
:optional => false
|
22
26
|
|
23
27
|
|
28
|
+
input :signature,
|
29
|
+
:prompt => "Request Signature",
|
30
|
+
:description => "A signature produced using the ed25519 seed of the request, hex encoded",
|
31
|
+
:type => :string,
|
32
|
+
:validation => '.',
|
33
|
+
:maxlength => 1024,
|
34
|
+
:optional => false
|
35
|
+
|
36
|
+
|
24
37
|
input :token,
|
25
38
|
:prompt => "JWT Token",
|
26
39
|
:description => "The JWT token authenticating the user",
|
@@ -5,7 +5,7 @@
|
|
5
5
|
"author": "R.I.Pienaar \u003crip@devco.net\u003e",
|
6
6
|
"timeout": 10,
|
7
7
|
"name": "aaa_signer",
|
8
|
-
"version": "0.
|
8
|
+
"version": "0.28.0",
|
9
9
|
"url": "https://github.com/choria-io/aaasvc",
|
10
10
|
"description": "Request Signer for Choria AAA Service",
|
11
11
|
"provider": "golang",
|
@@ -30,6 +30,14 @@
|
|
30
30
|
"optional": false,
|
31
31
|
"validation": ".",
|
32
32
|
"maxlength": 10024
|
33
|
+
},
|
34
|
+
"signature": {
|
35
|
+
"prompt": "Request Signature",
|
36
|
+
"description": "A signature produced using the ed25519 seed of the request, hex encoded",
|
37
|
+
"type": "string",
|
38
|
+
"optional": false,
|
39
|
+
"validation": ".",
|
40
|
+
"maxlength": 1024
|
33
41
|
}
|
34
42
|
},
|
35
43
|
"output": {
|
@@ -1,8 +1,16 @@
|
|
1
|
+
-- Copyright (c) 2024, R.I. Pienaar and the Choria Project contributors
|
2
|
+
--
|
3
|
+
-- SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
-- Copyright (c) 2024, R.I. Pienaar and the Choria Project contributors
|
6
|
+
--
|
7
|
+
-- SPDX-License-Identifier: Apache-2.0
|
8
|
+
|
1
9
|
metadata :name => "choria_provision",
|
2
10
|
:description => "Choria Provisioner",
|
3
11
|
:author => "R.I.Pienaar <rip@devco.net>",
|
4
12
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
13
|
+
:version => "0.28.0",
|
6
14
|
:url => "https://choria.io",
|
7
15
|
:timeout => 20
|
8
16
|
|
@@ -55,7 +63,7 @@ action "configure", :description => "Configure the Choria Server" do
|
|
55
63
|
|
56
64
|
input :key,
|
57
65
|
:prompt => "PEM text block for the private key",
|
58
|
-
:description => "",
|
66
|
+
:description => "A RSA private key",
|
59
67
|
:type => :string,
|
60
68
|
:validation => '-----BEGIN RSA PRIVATE KEY-----',
|
61
69
|
:maxlength => 10240,
|
@@ -69,6 +77,15 @@ action "configure", :description => "Configure the Choria Server" do
|
|
69
77
|
:optional => true
|
70
78
|
|
71
79
|
|
80
|
+
input :server_jwt,
|
81
|
+
:prompt => "Server JWT",
|
82
|
+
:description => "JWT file used to identify the server to the broker for ed25519 based authentication",
|
83
|
+
:type => :string,
|
84
|
+
:validation => '.',
|
85
|
+
:maxlength => 2048,
|
86
|
+
:optional => true
|
87
|
+
|
88
|
+
|
72
89
|
input :ssldir,
|
73
90
|
:prompt => "SSL Dir",
|
74
91
|
:description => "Directory for storing the certificate in",
|
@@ -96,6 +113,46 @@ action "configure", :description => "Configure the Choria Server" do
|
|
96
113
|
|
97
114
|
end
|
98
115
|
|
116
|
+
action "gen25519", :description => "Generates a new ED25519 keypair" do
|
117
|
+
display :always
|
118
|
+
|
119
|
+
input :nonce,
|
120
|
+
:prompt => "Nonce",
|
121
|
+
:description => "Single use token to be signed by the private key being generated",
|
122
|
+
:type => :string,
|
123
|
+
:validation => '.',
|
124
|
+
:maxlength => 64,
|
125
|
+
:optional => false
|
126
|
+
|
127
|
+
|
128
|
+
input :token,
|
129
|
+
:prompt => "Token",
|
130
|
+
:description => "Authentication token to pass to the server",
|
131
|
+
:type => :string,
|
132
|
+
:validation => '.',
|
133
|
+
:maxlength => 128,
|
134
|
+
:optional => false
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
output :directory,
|
140
|
+
:description => "The directory where server.key and server.pub is written to",
|
141
|
+
:type => "string",
|
142
|
+
:display_as => "Directory"
|
143
|
+
|
144
|
+
output :public_key,
|
145
|
+
:description => "The ED255519 public key hex encoded",
|
146
|
+
:type => "string",
|
147
|
+
:display_as => "Public Key"
|
148
|
+
|
149
|
+
output :signature,
|
150
|
+
:description => "The signature of the nonce made using the new private key, hex encoded",
|
151
|
+
:type => "string",
|
152
|
+
:display_as => "Signature"
|
153
|
+
|
154
|
+
end
|
155
|
+
|
99
156
|
action "gencsr", :description => "Request a CSR from the Choria Server" do
|
100
157
|
display :always
|
101
158
|
|
@@ -159,7 +216,7 @@ action "gencsr", :description => "Request a CSR from the Choria Server" do
|
|
159
216
|
:type => :string,
|
160
217
|
:validation => '.',
|
161
218
|
:maxlength => 128,
|
162
|
-
:optional =>
|
219
|
+
:optional => false
|
163
220
|
|
164
221
|
|
165
222
|
|
@@ -181,33 +238,41 @@ action "gencsr", :description => "Request a CSR from the Choria Server" do
|
|
181
238
|
|
182
239
|
end
|
183
240
|
|
184
|
-
action "
|
241
|
+
action "jwt", :description => "Re-enable provision mode in a running Choria Server" do
|
185
242
|
display :always
|
186
243
|
|
187
|
-
input :
|
188
|
-
:prompt => "
|
189
|
-
:description => "
|
244
|
+
input :token,
|
245
|
+
:prompt => "Token",
|
246
|
+
:description => "Authentication token to pass to the server",
|
190
247
|
:type => :string,
|
191
|
-
:validation => '
|
192
|
-
:maxlength =>
|
248
|
+
:validation => '.',
|
249
|
+
:maxlength => 128,
|
193
250
|
:optional => false
|
194
251
|
|
195
252
|
|
253
|
+
|
254
|
+
|
255
|
+
output :ecdh_public,
|
256
|
+
:description => "The ECDH public key for calculating shared secrets",
|
257
|
+
:type => "string",
|
258
|
+
:display_as => "ECDH Public Key"
|
259
|
+
|
260
|
+
output :jwt,
|
261
|
+
:description => "The contents of the JWT token",
|
262
|
+
:type => "string",
|
263
|
+
:display_as => "JWT Token"
|
264
|
+
|
265
|
+
end
|
266
|
+
|
267
|
+
action "reprovision", :description => "Reenable provision mode in a running Choria Server" do
|
268
|
+
display :always
|
269
|
+
|
196
270
|
input :token,
|
197
271
|
:prompt => "Token",
|
198
272
|
:description => "Authentication token to pass to the server",
|
199
273
|
:type => :string,
|
200
274
|
:validation => '.',
|
201
275
|
:maxlength => 128,
|
202
|
-
:optional => true
|
203
|
-
|
204
|
-
|
205
|
-
input :version,
|
206
|
-
:prompt => "Version to update to",
|
207
|
-
:description => "Package version to update to",
|
208
|
-
:type => :string,
|
209
|
-
:validation => '.+',
|
210
|
-
:maxlength => 32,
|
211
276
|
:optional => false
|
212
277
|
|
213
278
|
|
@@ -220,8 +285,15 @@ action "release_update", :description => "Performs an in-place binary update and
|
|
220
285
|
|
221
286
|
end
|
222
287
|
|
223
|
-
action "
|
224
|
-
display :
|
288
|
+
action "restart", :description => "Restart the Choria Server" do
|
289
|
+
display :failed
|
290
|
+
|
291
|
+
input :splay,
|
292
|
+
:prompt => "Splay time",
|
293
|
+
:description => "The configuration to apply to this node",
|
294
|
+
:type => :number,
|
295
|
+
:optional => true
|
296
|
+
|
225
297
|
|
226
298
|
input :token,
|
227
299
|
:prompt => "Token",
|
@@ -229,33 +301,46 @@ action "jwt", :description => "Re-enable provision mode in a running Choria Serv
|
|
229
301
|
:type => :string,
|
230
302
|
:validation => '.',
|
231
303
|
:maxlength => 128,
|
232
|
-
:optional =>
|
233
|
-
|
304
|
+
:optional => false
|
234
305
|
|
235
306
|
|
236
307
|
|
237
|
-
output :ecdh_public,
|
238
|
-
:description => "The ECDH public key for calculating shared secrets",
|
239
|
-
:type => "string",
|
240
|
-
:display_as => "ECDH Public Key"
|
241
308
|
|
242
|
-
output :
|
243
|
-
:description => "
|
309
|
+
output :message,
|
310
|
+
:description => "Status message from the Provisioner",
|
244
311
|
:type => "string",
|
245
|
-
:display_as => "
|
312
|
+
:display_as => "Message"
|
246
313
|
|
247
314
|
end
|
248
315
|
|
249
|
-
action "
|
316
|
+
action "release_update", :description => "Performs an in-place binary update and restarts Choria" do
|
250
317
|
display :always
|
251
318
|
|
319
|
+
input :repository,
|
320
|
+
:prompt => "Repository URL",
|
321
|
+
:description => "HTTP(S) server hosting the update repository",
|
322
|
+
:type => :string,
|
323
|
+
:validation => '^http(s*)://',
|
324
|
+
:maxlength => 512,
|
325
|
+
:optional => false
|
326
|
+
|
327
|
+
|
252
328
|
input :token,
|
253
329
|
:prompt => "Token",
|
254
330
|
:description => "Authentication token to pass to the server",
|
255
331
|
:type => :string,
|
256
332
|
:validation => '.',
|
257
333
|
:maxlength => 128,
|
258
|
-
:optional =>
|
334
|
+
:optional => false
|
335
|
+
|
336
|
+
|
337
|
+
input :version,
|
338
|
+
:prompt => "Version to update to",
|
339
|
+
:description => "Package version to update to",
|
340
|
+
:type => :string,
|
341
|
+
:validation => '.+',
|
342
|
+
:maxlength => 32,
|
343
|
+
:optional => false
|
259
344
|
|
260
345
|
|
261
346
|
|
@@ -267,23 +352,16 @@ action "reprovision", :description => "Reenable provision mode in a running Chor
|
|
267
352
|
|
268
353
|
end
|
269
354
|
|
270
|
-
action "
|
355
|
+
action "shutdown", :description => "Shut the Choria Server down cleanly" do
|
271
356
|
display :failed
|
272
357
|
|
273
|
-
input :splay,
|
274
|
-
:prompt => "Splay time",
|
275
|
-
:description => "The configuration to apply to this node",
|
276
|
-
:type => :number,
|
277
|
-
:optional => true
|
278
|
-
|
279
|
-
|
280
358
|
input :token,
|
281
359
|
:prompt => "Token",
|
282
360
|
:description => "Authentication token to pass to the server",
|
283
361
|
:type => :string,
|
284
362
|
:validation => '.',
|
285
363
|
:maxlength => 128,
|
286
|
-
:optional =>
|
364
|
+
:optional => false
|
287
365
|
|
288
366
|
|
289
367
|
|
@@ -5,7 +5,7 @@
|
|
5
5
|
"description": "Choria Provisioner",
|
6
6
|
"author": "R.I.Pienaar <rip@devco.net>",
|
7
7
|
"license": "Apache-2.0",
|
8
|
-
"version": "0.
|
8
|
+
"version": "0.28.0",
|
9
9
|
"url": "https://choria.io",
|
10
10
|
"timeout": 20
|
11
11
|
},
|
@@ -59,6 +59,7 @@
|
|
59
59
|
"maxlength": 500
|
60
60
|
},
|
61
61
|
"key": {
|
62
|
+
"description": "A RSA private key",
|
62
63
|
"prompt": "PEM text block for the private key",
|
63
64
|
"type": "string",
|
64
65
|
"default": null,
|
@@ -88,8 +89,16 @@
|
|
88
89
|
"type": "hash",
|
89
90
|
"default": {},
|
90
91
|
"optional": true
|
92
|
+
},
|
93
|
+
"server_jwt": {
|
94
|
+
"description": "JWT file used to identify the server to the broker for ed25519 based authentication",
|
95
|
+
"prompt": "Server JWT",
|
96
|
+
"type": "string",
|
97
|
+
"default": "",
|
98
|
+
"optional": true,
|
99
|
+
"maxlength": 2048,
|
100
|
+
"validation": "."
|
91
101
|
}
|
92
|
-
|
93
102
|
},
|
94
103
|
"output": {
|
95
104
|
"message": {
|
@@ -102,6 +111,51 @@
|
|
102
111
|
"display": "failed",
|
103
112
|
"description": "Configure the Choria Server"
|
104
113
|
},
|
114
|
+
{
|
115
|
+
"action": "gen25519",
|
116
|
+
"display": "always",
|
117
|
+
"description": "Generates a new ED25519 keypair",
|
118
|
+
"input": {
|
119
|
+
"token": {
|
120
|
+
"prompt": "Token",
|
121
|
+
"description": "Authentication token to pass to the server",
|
122
|
+
"type": "string",
|
123
|
+
"default": "",
|
124
|
+
"optional": false,
|
125
|
+
"validation": ".",
|
126
|
+
"maxlength": 128
|
127
|
+
},
|
128
|
+
"nonce": {
|
129
|
+
"prompt": "Nonce",
|
130
|
+
"description": "Single use token to be signed by the private key being generated",
|
131
|
+
"type": "string",
|
132
|
+
"default": "",
|
133
|
+
"optional": false,
|
134
|
+
"validation": ".",
|
135
|
+
"maxlength": 64
|
136
|
+
}
|
137
|
+
},
|
138
|
+
"output": {
|
139
|
+
"public_key": {
|
140
|
+
"description": "The ED255519 public key hex encoded",
|
141
|
+
"display_as": "Public Key",
|
142
|
+
"type": "string",
|
143
|
+
"default": ""
|
144
|
+
},
|
145
|
+
"directory": {
|
146
|
+
"description": "The directory where server.key and server.pub is written to",
|
147
|
+
"display_as": "Directory",
|
148
|
+
"type": "string",
|
149
|
+
"default": ""
|
150
|
+
},
|
151
|
+
"signature": {
|
152
|
+
"description": "The signature of the nonce made using the new private key, hex encoded",
|
153
|
+
"display_as": "Signature",
|
154
|
+
"type": "string",
|
155
|
+
"default": ""
|
156
|
+
}
|
157
|
+
}
|
158
|
+
},
|
105
159
|
{
|
106
160
|
"action": "gencsr",
|
107
161
|
"input": {
|
@@ -110,7 +164,7 @@
|
|
110
164
|
"description": "Authentication token to pass to the server",
|
111
165
|
"type": "string",
|
112
166
|
"default": "",
|
113
|
-
"optional":
|
167
|
+
"optional": false,
|
114
168
|
"validation": ".",
|
115
169
|
"maxlength": 128
|
116
170
|
},
|
@@ -193,34 +247,46 @@
|
|
193
247
|
"description": "Request a CSR from the Choria Server"
|
194
248
|
},
|
195
249
|
{
|
196
|
-
"action": "
|
250
|
+
"action": "jwt",
|
197
251
|
"input": {
|
198
252
|
"token": {
|
199
253
|
"prompt": "Token",
|
200
254
|
"description": "Authentication token to pass to the server",
|
201
255
|
"type": "string",
|
202
256
|
"default": "",
|
203
|
-
"optional":
|
257
|
+
"optional": false,
|
204
258
|
"validation": ".",
|
205
259
|
"maxlength": 128
|
206
|
-
}
|
207
|
-
|
208
|
-
|
209
|
-
|
260
|
+
}
|
261
|
+
},
|
262
|
+
"output": {
|
263
|
+
"jwt": {
|
264
|
+
"description": "The contents of the JWT token",
|
265
|
+
"display_as": "JWT Token",
|
210
266
|
"type": "string",
|
211
|
-
"default": ""
|
212
|
-
"optional": false,
|
213
|
-
"validation": "^http(s*)://",
|
214
|
-
"maxlength": 512
|
267
|
+
"default": ""
|
215
268
|
},
|
216
|
-
"
|
217
|
-
"
|
218
|
-
"
|
269
|
+
"ecdh_public": {
|
270
|
+
"description": "The ECDH public key for calculating shared secrets",
|
271
|
+
"display_as": "ECDH Public Key",
|
272
|
+
"type": "string",
|
273
|
+
"default": ""
|
274
|
+
}
|
275
|
+
},
|
276
|
+
"display": "always",
|
277
|
+
"description": "Re-enable provision mode in a running Choria Server"
|
278
|
+
},
|
279
|
+
{
|
280
|
+
"action": "reprovision",
|
281
|
+
"input": {
|
282
|
+
"token": {
|
283
|
+
"prompt": "Token",
|
284
|
+
"description": "Authentication token to pass to the server",
|
219
285
|
"type": "string",
|
220
286
|
"default": "",
|
221
287
|
"optional": false,
|
222
|
-
"validation": "
|
223
|
-
"maxlength":
|
288
|
+
"validation": ".",
|
289
|
+
"maxlength": 128
|
224
290
|
}
|
225
291
|
},
|
226
292
|
"output": {
|
@@ -232,49 +298,68 @@
|
|
232
298
|
}
|
233
299
|
},
|
234
300
|
"display": "always",
|
235
|
-
"description": "
|
301
|
+
"description": "Reenable provision mode in a running Choria Server"
|
236
302
|
},
|
237
303
|
{
|
238
|
-
"action": "
|
304
|
+
"action": "restart",
|
239
305
|
"input": {
|
240
306
|
"token": {
|
241
307
|
"prompt": "Token",
|
242
308
|
"description": "Authentication token to pass to the server",
|
243
309
|
"type": "string",
|
244
310
|
"default": "",
|
245
|
-
"optional":
|
311
|
+
"optional": false,
|
246
312
|
"validation": ".",
|
247
313
|
"maxlength": 128
|
314
|
+
},
|
315
|
+
"splay": {
|
316
|
+
"prompt": "Splay time",
|
317
|
+
"description": "The configuration to apply to this node",
|
318
|
+
"type": "number",
|
319
|
+
"default": null,
|
320
|
+
"optional": true
|
248
321
|
}
|
249
322
|
},
|
250
323
|
"output": {
|
251
|
-
"
|
252
|
-
"description": "
|
253
|
-
"display_as": "
|
254
|
-
"type": "string",
|
255
|
-
"default": ""
|
256
|
-
},
|
257
|
-
"ecdh_public": {
|
258
|
-
"description": "The ECDH public key for calculating shared secrets",
|
259
|
-
"display_as": "ECDH Public Key",
|
324
|
+
"message": {
|
325
|
+
"description": "Status message from the Provisioner",
|
326
|
+
"display_as": "Message",
|
260
327
|
"type": "string",
|
261
|
-
"default":
|
328
|
+
"default": null
|
262
329
|
}
|
263
330
|
},
|
264
|
-
"display": "
|
265
|
-
"description": "
|
331
|
+
"display": "failed",
|
332
|
+
"description": "Restart the Choria Server"
|
266
333
|
},
|
267
334
|
{
|
268
|
-
"action": "
|
335
|
+
"action": "release_update",
|
269
336
|
"input": {
|
270
337
|
"token": {
|
271
338
|
"prompt": "Token",
|
272
339
|
"description": "Authentication token to pass to the server",
|
273
340
|
"type": "string",
|
274
341
|
"default": "",
|
275
|
-
"optional":
|
342
|
+
"optional": false,
|
276
343
|
"validation": ".",
|
277
344
|
"maxlength": 128
|
345
|
+
},
|
346
|
+
"repository": {
|
347
|
+
"prompt": "Repository URL",
|
348
|
+
"description": "HTTP(S) server hosting the update repository",
|
349
|
+
"type": "string",
|
350
|
+
"default": "",
|
351
|
+
"optional": false,
|
352
|
+
"validation": "^http(s*)://",
|
353
|
+
"maxlength": 512
|
354
|
+
},
|
355
|
+
"version": {
|
356
|
+
"prompt": "Version to update to",
|
357
|
+
"description": "Package version to update to",
|
358
|
+
"type": "string",
|
359
|
+
"default": "",
|
360
|
+
"optional": false,
|
361
|
+
"validation": ".+",
|
362
|
+
"maxlength": 32
|
278
363
|
}
|
279
364
|
},
|
280
365
|
"output": {
|
@@ -286,26 +371,19 @@
|
|
286
371
|
}
|
287
372
|
},
|
288
373
|
"display": "always",
|
289
|
-
"description": "
|
374
|
+
"description": "Performs an in-place binary update and restarts Choria"
|
290
375
|
},
|
291
376
|
{
|
292
|
-
"action": "
|
377
|
+
"action": "shutdown",
|
293
378
|
"input": {
|
294
379
|
"token": {
|
295
380
|
"prompt": "Token",
|
296
381
|
"description": "Authentication token to pass to the server",
|
297
382
|
"type": "string",
|
298
383
|
"default": "",
|
299
|
-
"optional":
|
384
|
+
"optional": false,
|
300
385
|
"validation": ".",
|
301
386
|
"maxlength": 128
|
302
|
-
},
|
303
|
-
"splay": {
|
304
|
-
"prompt": "Splay time",
|
305
|
-
"description": "The configuration to apply to this node",
|
306
|
-
"type": "number",
|
307
|
-
"default": null,
|
308
|
-
"optional": true
|
309
387
|
}
|
310
388
|
},
|
311
389
|
"output": {
|
@@ -317,7 +395,7 @@
|
|
317
395
|
}
|
318
396
|
},
|
319
397
|
"display": "failed",
|
320
|
-
"description": "
|
398
|
+
"description": "Shut the Choria Server down cleanly"
|
321
399
|
}
|
322
400
|
]
|
323
401
|
}
|
@@ -1,14 +1,44 @@
|
|
1
|
+
-- Copyright (c) 2024, R.I. Pienaar and the Choria Project contributors
|
2
|
+
--
|
3
|
+
-- SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
1
5
|
metadata :name => "choria_registry",
|
2
6
|
:description => "Choria Registry Service",
|
3
7
|
:author => "rip@devco.net <rip@devco.net>",
|
4
8
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
9
|
+
:version => "0.28.0",
|
6
10
|
:url => "https://choria.io",
|
7
11
|
:provider => "golang",
|
8
12
|
:service => true,
|
9
13
|
:timeout => 2
|
10
14
|
|
11
15
|
|
16
|
+
action "names", :description => "List of all known DDLs for a specific plugin type" do
|
17
|
+
display :failed
|
18
|
+
|
19
|
+
input :plugin_type,
|
20
|
+
:prompt => "Plugin Type",
|
21
|
+
:description => "The type of plugin",
|
22
|
+
:type => :list,
|
23
|
+
:default => "agent",
|
24
|
+
:list => ["agent"],
|
25
|
+
:optional => false
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
output :names,
|
31
|
+
:description => "The names of all known DDL files",
|
32
|
+
:type => "array",
|
33
|
+
:display_as => "Names"
|
34
|
+
|
35
|
+
output :plugin_type,
|
36
|
+
:description => "The type of plugin",
|
37
|
+
:type => "string",
|
38
|
+
:display_as => "Type"
|
39
|
+
|
40
|
+
end
|
41
|
+
|
12
42
|
action "ddl", :description => "Retrieve the DDL for a specific plugin" do
|
13
43
|
display :always
|
14
44
|
|
@@ -5,13 +5,41 @@
|
|
5
5
|
"author": "rip@devco.net \u003crip@devco.net\u003e",
|
6
6
|
"timeout": 2,
|
7
7
|
"name": "choria_registry",
|
8
|
-
"version": "0.
|
8
|
+
"version": "0.28.0",
|
9
9
|
"url": "https://choria.io",
|
10
10
|
"description": "Choria Registry Service",
|
11
11
|
"provider": "golang",
|
12
12
|
"service": true
|
13
13
|
},
|
14
14
|
"actions": [
|
15
|
+
{
|
16
|
+
"action": "names",
|
17
|
+
"description": "List of all known DDLs for a specific plugin type",
|
18
|
+
"input": {
|
19
|
+
"plugin_type": {
|
20
|
+
"prompt": "Plugin Type",
|
21
|
+
"description": "The type of plugin",
|
22
|
+
"type": "list",
|
23
|
+
"default": "agent",
|
24
|
+
"optional": false,
|
25
|
+
"list": [
|
26
|
+
"agent"
|
27
|
+
]
|
28
|
+
}
|
29
|
+
},
|
30
|
+
"output": {
|
31
|
+
"names": {
|
32
|
+
"description": "The names of all known DDL files",
|
33
|
+
"type": "array",
|
34
|
+
"display_as": "Names"
|
35
|
+
},
|
36
|
+
"plugin_type": {
|
37
|
+
"description": "The type of plugin",
|
38
|
+
"display_as": "Type",
|
39
|
+
"type": "string"
|
40
|
+
}
|
41
|
+
}
|
42
|
+
},
|
15
43
|
{
|
16
44
|
"action": "ddl",
|
17
45
|
"input": {
|
@@ -1,8 +1,12 @@
|
|
1
|
+
-- Copyright (c) 2024, R.I. Pienaar and the Choria Project contributors
|
2
|
+
--
|
3
|
+
-- SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
1
5
|
metadata :name => "choria_util",
|
2
6
|
:description => "Choria Utilities",
|
3
7
|
:author => "R.I.Pienaar <rip@devco.net>",
|
4
8
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
9
|
+
:version => "0.28.0",
|
6
10
|
:url => "https://choria.io",
|
7
11
|
:timeout => 2
|
8
12
|
|
@@ -1,8 +1,12 @@
|
|
1
|
+
-- Copyright (c) 2024, R.I. Pienaar and the Choria Project contributors
|
2
|
+
--
|
3
|
+
-- SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
1
5
|
metadata :name => "rpcutil",
|
2
6
|
:description => "Utility actions that expose information about the state of the running Server",
|
3
7
|
:author => "R.I.Pienaar <rip@devco.net>",
|
4
8
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
9
|
+
:version => "0.28.0",
|
6
10
|
:url => "https://choria.io/",
|
7
11
|
:timeout => 2
|
8
12
|
|
@@ -54,6 +58,11 @@ action "daemon_stats", :description => "Get statistics from the running daemon"
|
|
54
58
|
:type => "string",
|
55
59
|
:display_as => "Config File"
|
56
60
|
|
61
|
+
output :events,
|
62
|
+
:description => "The number of lifecycle events that was published",
|
63
|
+
:type => "integer",
|
64
|
+
:display_as => "Events"
|
65
|
+
|
57
66
|
output :filtered,
|
58
67
|
:description => "Count of message that didn't pass filter checks",
|
59
68
|
:type => "integer",
|
@@ -262,6 +271,11 @@ action "inventory", :description => "System Inventory" do
|
|
262
271
|
:type => "string",
|
263
272
|
:display_as => "Main Collective"
|
264
273
|
|
274
|
+
output :upgradable,
|
275
|
+
:description => "Indicates if the server supports upgrades",
|
276
|
+
:type => "boolean",
|
277
|
+
:display_as => "Upgradable"
|
278
|
+
|
265
279
|
output :version,
|
266
280
|
:description => "Choria Server Version",
|
267
281
|
:type => "string",
|
@@ -276,7 +290,7 @@ action "ping", :description => "Responds to requests for PING with PONG" do
|
|
276
290
|
|
277
291
|
output :pong,
|
278
292
|
:description => "The local Unix timestamp",
|
279
|
-
:type => "
|
293
|
+
:type => "number",
|
280
294
|
:display_as => "Timestamp"
|
281
295
|
|
282
296
|
end
|
@@ -5,7 +5,7 @@
|
|
5
5
|
"description": "Utility actions that expose information about the state of the running Server",
|
6
6
|
"author": "R.I.Pienaar <rip@devco.net>",
|
7
7
|
"license": "Apache-2.0",
|
8
|
-
"version": "0.
|
8
|
+
"version": "0.28.0",
|
9
9
|
"url": "https://choria.io/",
|
10
10
|
"timeout": 2
|
11
11
|
},
|
@@ -125,6 +125,11 @@
|
|
125
125
|
"description": "Count of messages that did pass TTL checks",
|
126
126
|
"display_as": "TTL Expired",
|
127
127
|
"type": "integer"
|
128
|
+
},
|
129
|
+
"events": {
|
130
|
+
"description": "The number of lifecycle events that was published",
|
131
|
+
"display_as": "Events",
|
132
|
+
"type": "integer"
|
128
133
|
}
|
129
134
|
},
|
130
135
|
"display": "always",
|
@@ -306,6 +311,12 @@
|
|
306
311
|
"description": "Autonomous Agents",
|
307
312
|
"display_as": "Machines",
|
308
313
|
"type": "hash"
|
314
|
+
},
|
315
|
+
"upgradable": {
|
316
|
+
"description": "Indicates if the server supports upgrades",
|
317
|
+
"display_as": "Upgradable",
|
318
|
+
"type": "boolean",
|
319
|
+
"default": false
|
309
320
|
}
|
310
321
|
},
|
311
322
|
"display": "always",
|
@@ -319,7 +330,7 @@
|
|
319
330
|
"pong": {
|
320
331
|
"description": "The local Unix timestamp",
|
321
332
|
"display_as": "Timestamp",
|
322
|
-
"type": "
|
333
|
+
"type": "number"
|
323
334
|
}
|
324
335
|
},
|
325
336
|
"display": "always",
|
@@ -1,8 +1,12 @@
|
|
1
|
+
-- Copyright (c) 2024, R.I. Pienaar and the Choria Project contributors
|
2
|
+
--
|
3
|
+
-- SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
1
5
|
metadata :name => "scout",
|
2
6
|
:description => "Choria Scout Agent Management API",
|
3
7
|
:author => "R.I.Pienaar <rip@devco.net>",
|
4
8
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
9
|
+
:version => "0.28.0",
|
6
10
|
:url => "https://choria.io",
|
7
11
|
:provider => "golang",
|
8
12
|
:timeout => 5
|
@@ -87,7 +91,7 @@ action "goss_validate", :description => "Performs a Goss validation using a spec
|
|
87
91
|
:type => :string,
|
88
92
|
:validation => '.+',
|
89
93
|
:maxlength => 256,
|
90
|
-
:optional =>
|
94
|
+
:optional => true
|
91
95
|
|
92
96
|
|
93
97
|
input :vars,
|
@@ -99,6 +103,24 @@ action "goss_validate", :description => "Performs a Goss validation using a spec
|
|
99
103
|
:optional => true
|
100
104
|
|
101
105
|
|
106
|
+
input :yaml_rules,
|
107
|
+
:prompt => "Gossfile contents",
|
108
|
+
:description => "Contents of the Gossfile to validate",
|
109
|
+
:type => :string,
|
110
|
+
:validation => '.',
|
111
|
+
:maxlength => 5120,
|
112
|
+
:optional => true
|
113
|
+
|
114
|
+
|
115
|
+
input :yaml_vars,
|
116
|
+
:prompt => "Variables YAML",
|
117
|
+
:description => "YAML data to use as variables",
|
118
|
+
:type => :string,
|
119
|
+
:validation => '.+',
|
120
|
+
:maxlength => 5120,
|
121
|
+
:optional => true
|
122
|
+
|
123
|
+
|
102
124
|
|
103
125
|
|
104
126
|
output :failures,
|
@@ -116,9 +138,14 @@ action "goss_validate", :description => "Performs a Goss validation using a spec
|
|
116
138
|
:type => "integer",
|
117
139
|
:display_as => "Runtime"
|
118
140
|
|
141
|
+
output :skipped,
|
142
|
+
:description => "Indicates how many tests were skipped",
|
143
|
+
:type => "integer",
|
144
|
+
:display_as => "Skipped"
|
145
|
+
|
119
146
|
output :success,
|
120
|
-
:description => "Indicates
|
121
|
-
:type => "
|
147
|
+
:description => "Indicates how many tests passed",
|
148
|
+
:type => "integer",
|
122
149
|
:display_as => "Success"
|
123
150
|
|
124
151
|
output :summary,
|
@@ -5,7 +5,7 @@
|
|
5
5
|
"author": "R.I.Pienaar <rip@devco.net>",
|
6
6
|
"timeout": 5,
|
7
7
|
"name": "scout",
|
8
|
-
"version": "0.
|
8
|
+
"version": "0.28.0",
|
9
9
|
"url": "https://choria.io",
|
10
10
|
"description": "Choria Scout Agent Management API",
|
11
11
|
"provider": "golang"
|
@@ -112,13 +112,21 @@
|
|
112
112
|
}
|
113
113
|
],
|
114
114
|
"input": {
|
115
|
+
"yaml_rules": {
|
116
|
+
"prompt": "Gossfile contents",
|
117
|
+
"description": "Contents of the Gossfile to validate",
|
118
|
+
"type": "string",
|
119
|
+
"maxlength": 5120,
|
120
|
+
"validation": ".",
|
121
|
+
"optional": true
|
122
|
+
},
|
115
123
|
"file": {
|
116
124
|
"prompt": "Goss File",
|
117
125
|
"description": "Path to the Goss validation specification",
|
118
126
|
"type": "string",
|
119
127
|
"maxlength": 256,
|
120
128
|
"validation": ".+",
|
121
|
-
"optional":
|
129
|
+
"optional": true
|
122
130
|
},
|
123
131
|
"vars": {
|
124
132
|
"prompt": "Vars File",
|
@@ -127,6 +135,14 @@
|
|
127
135
|
"maxlength": 256,
|
128
136
|
"validation": ".+",
|
129
137
|
"optional": true
|
138
|
+
},
|
139
|
+
"yaml_vars": {
|
140
|
+
"prompt": "Variables YAML",
|
141
|
+
"description": "YAML data to use as variables",
|
142
|
+
"type": "string",
|
143
|
+
"maxlength": 5120,
|
144
|
+
"validation": ".+",
|
145
|
+
"optional": true
|
130
146
|
}
|
131
147
|
},
|
132
148
|
"output": {
|
@@ -146,9 +162,14 @@
|
|
146
162
|
"type": "integer"
|
147
163
|
},
|
148
164
|
"success": {
|
149
|
-
"description": "Indicates
|
165
|
+
"description": "Indicates how many tests passed",
|
150
166
|
"display_as": "Success",
|
151
|
-
"type": "
|
167
|
+
"type": "integer"
|
168
|
+
},
|
169
|
+
"skipped": {
|
170
|
+
"description": "Indicates how many tests were skipped",
|
171
|
+
"display_as": "Skipped",
|
172
|
+
"type": "integer"
|
152
173
|
},
|
153
174
|
"summary": {
|
154
175
|
"description": "A human friendly test result",
|
@@ -191,7 +191,7 @@ module MCollective
|
|
191
191
|
end
|
192
192
|
|
193
193
|
def render_template(infile, outfile)
|
194
|
-
erb = ERB.new(File.read(infile), 0, "-")
|
194
|
+
erb = ERB.new(File.read(infile), :safe_level => 0, :trim_mode => "-")
|
195
195
|
File.open(outfile, "w") do |f|
|
196
196
|
f.puts erb.result(binding)
|
197
197
|
end
|
data/lib/mcollective/shell.rb
CHANGED
@@ -127,12 +127,13 @@ module MCollective
|
|
127
127
|
|
128
128
|
# Determines the domain to do SRV lookups in
|
129
129
|
#
|
130
|
-
# This is settable using
|
130
|
+
# This is settable using the environment variable
|
131
|
+
# CHORIA_SRV_DOMAIN or choria.srv_domain and defaults
|
131
132
|
# to the domain as reported by facter
|
132
133
|
#
|
133
134
|
# @return [String]
|
134
135
|
def srv_domain
|
135
|
-
get_option("choria.srv_domain", nil) || facter_domain
|
136
|
+
env_fetch("CHORIA_SRV_DOMAIN", nil) || get_option("choria.srv_domain", nil) || facter_domain
|
136
137
|
end
|
137
138
|
|
138
139
|
# Determines the SRV records to look up
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: choria-mcorpc-support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.26.
|
4
|
+
version: 2.26.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- R.I.Pienaar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: systemu
|
@@ -247,7 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
247
247
|
version: '0'
|
248
248
|
requirements: []
|
249
249
|
rubyforge_project:
|
250
|
-
rubygems_version: 2.7.6.
|
250
|
+
rubygems_version: 2.7.6.2
|
251
251
|
signing_key:
|
252
252
|
specification_version: 4
|
253
253
|
summary: Support libraries the Choria Server
|