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 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