choria-mcorpc-support 2.26.1 → 2.26.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d38a022de3a9f8e30351c3281d34011f84d792d09f13955b705ff2ff5502140b
4
- data.tar.gz: a3a5ce9b97f9b479b7530b7af1645a20049a15d4dbc2f6159539c6731c441eee
3
+ metadata.gz: 3afcdee832e60d663bb3b6191631a315dfa017297620227c73fec431acaec163
4
+ data.tar.gz: a643991b5feb3f8f19ab71c3ff66a4cef89dd1f0c1208882ef12fcddeec037d5
5
5
  SHA512:
6
- metadata.gz: 95d4ad08da80cccbb2f4904764bb4285ada306dc023cc922543cafe89aaf66eabf04ddda44e1b1290b9a212bb66a44430009e8d48c135382a7c830b9d89a3f7a
7
- data.tar.gz: 99a3586fc1327ae2597a642c9105c3418622fc0c058977ec0b95ea6dbbbd75af215fb1fee66e023c97b61d72d7207c23a87cc41d6680aa5ef2c1520eb8a910e6
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.24.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.24.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.24.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 => true
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 "release_update", :description => "Performs an in-place binary update and restarts Choria" do
241
+ action "jwt", :description => "Re-enable provision mode in a running Choria Server" do
185
242
  display :always
186
243
 
187
- input :repository,
188
- :prompt => "Repository URL",
189
- :description => "HTTP(S) server hosting the update repository",
244
+ input :token,
245
+ :prompt => "Token",
246
+ :description => "Authentication token to pass to the server",
190
247
  :type => :string,
191
- :validation => '^http(s*)://',
192
- :maxlength => 512,
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 "jwt", :description => "Re-enable provision mode in a running Choria Server" do
224
- display :always
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 => true
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 :jwt,
243
- :description => "The contents of the JWT token",
309
+ output :message,
310
+ :description => "Status message from the Provisioner",
244
311
  :type => "string",
245
- :display_as => "JWT Token"
312
+ :display_as => "Message"
246
313
 
247
314
  end
248
315
 
249
- action "reprovision", :description => "Reenable provision mode in a running Choria Server" do
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 => true
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 "restart", :description => "Restart the Choria Server" do
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 => true
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.24.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": true,
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": "release_update",
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": true,
257
+ "optional": false,
204
258
  "validation": ".",
205
259
  "maxlength": 128
206
- },
207
- "repository": {
208
- "prompt": "Repository URL",
209
- "description": "HTTP(S) server hosting the update repository",
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
- "version": {
217
- "prompt": "Version to update to",
218
- "description": "Package version to update to",
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": 32
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": "Performs an in-place binary update and restarts Choria"
301
+ "description": "Reenable provision mode in a running Choria Server"
236
302
  },
237
303
  {
238
- "action": "jwt",
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": true,
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
- "jwt": {
252
- "description": "The contents of the JWT token",
253
- "display_as": "JWT Token",
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": "always",
265
- "description": "Re-enable provision mode in a running Choria Server"
331
+ "display": "failed",
332
+ "description": "Restart the Choria Server"
266
333
  },
267
334
  {
268
- "action": "reprovision",
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": true,
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": "Reenable provision mode in a running Choria Server"
374
+ "description": "Performs an in-place binary update and restarts Choria"
290
375
  },
291
376
  {
292
- "action": "restart",
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": true,
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": "Restart the Choria Server"
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.24.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.24.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.24.0",
9
+ :version => "0.28.0",
6
10
  :url => "https://choria.io",
7
11
  :timeout => 2
8
12
 
@@ -5,7 +5,7 @@
5
5
  "description": "Choria Utilities",
6
6
  "author": "R.I.Pienaar <rip@devco.net>",
7
7
  "license": "Apache-2.0",
8
- "version": "0.24.0",
8
+ "version": "0.28.0",
9
9
  "url": "https://choria.io",
10
10
  "timeout": 2
11
11
  },
@@ -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.24.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 => "string",
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.24.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": "string"
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.24.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 => false
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 if the test passed",
121
- :type => "string",
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.24.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": false
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 if the test passed",
165
+ "description": "Indicates how many tests passed",
150
166
  "display_as": "Success",
151
- "type": "string"
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
@@ -121,7 +121,6 @@ module MCollective
121
121
  Log.info("Unexpected exception received while waiting for child process: #{e.class}: #{e}")
122
122
  end
123
123
  end
124
- @status.thread.kill
125
124
  @status
126
125
  end
127
126
  end
@@ -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 choria.srv_domain and defaults
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.1
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: 2022-11-07 00:00:00.000000000 Z
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.3
250
+ rubygems_version: 2.7.6.2
251
251
  signing_key:
252
252
  specification_version: 4
253
253
  summary: Support libraries the Choria Server