choria-mcorpc-support 2.26.0 → 2.26.2
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 +10 -1
- data/lib/mcollective/agent/aaa_signer.json +9 -1
- data/lib/mcollective/agent/choria_provision.ddl +110 -40
- data/lib/mcollective/agent/choria_provision.json +124 -46
- data/lib/mcollective/agent/choria_registry.ddl +27 -1
- data/lib/mcollective/agent/choria_registry.json +29 -1
- data/lib/mcollective/agent/choria_util.ddl +1 -1
- data/lib/mcollective/agent/choria_util.json +1 -1
- data/lib/mcollective/agent/rpcutil.ddl +12 -2
- data/lib/mcollective/agent/rpcutil.json +13 -2
- data/lib/mcollective/agent/scout.ddl +27 -4
- data/lib/mcollective/agent/scout.json +25 -4
- data/lib/mcollective/application/tasks.rb +19 -3
- 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: b2a92d73331d1dfabcfc35d7b12450ec5ad3026289fd0d9afd6d744b17cfed22
|
4
|
+
data.tar.gz: fbb5b974bed1c123d7ac730b5836cc033b15ad8e6ec79d6a20634a91bc304b3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85c8e1bafacbc2ca481332dc4879acecdef151cb0cdb8c1eb8f14173298b288b4d4a2d9c7f2eed08719868b80ef5a23c4e50e903b07c9e776cd604c00b548c1a
|
7
|
+
data.tar.gz: dc8cd959eb42bf830eea2e938ba06552280bde4f4b8c47bfd75f61053d53e9616ed1a7ac1458d586eb5d5ac88b2d03a4d29dc1bb2dcd59839c938513d65e7af0
|
@@ -2,7 +2,7 @@ metadata :name => "aaa_signer",
|
|
2
2
|
:description => "Request Signer for Choria AAA Service",
|
3
3
|
:author => "R.I.Pienaar <rip@devco.net>",
|
4
4
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
5
|
+
:version => "0.27.0",
|
6
6
|
:url => "https://github.com/choria-io/aaasvc",
|
7
7
|
:provider => "golang",
|
8
8
|
:service => true,
|
@@ -21,6 +21,15 @@ action "sign", :description => "Signs a RPC Request on behalf of a user" do
|
|
21
21
|
:optional => false
|
22
22
|
|
23
23
|
|
24
|
+
input :signature,
|
25
|
+
:prompt => "Request Signature",
|
26
|
+
:description => "A signature produced using the ed25519 seed of the request, hex encoded",
|
27
|
+
:type => :string,
|
28
|
+
:validation => '.',
|
29
|
+
:maxlength => 1024,
|
30
|
+
:optional => false
|
31
|
+
|
32
|
+
|
24
33
|
input :token,
|
25
34
|
:prompt => "JWT Token",
|
26
35
|
: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.27.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": {
|
@@ -2,7 +2,7 @@ metadata :name => "choria_provision",
|
|
2
2
|
:description => "Choria Provisioner",
|
3
3
|
:author => "R.I.Pienaar <rip@devco.net>",
|
4
4
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
5
|
+
:version => "0.27.0",
|
6
6
|
:url => "https://choria.io",
|
7
7
|
:timeout => 20
|
8
8
|
|
@@ -55,7 +55,7 @@ action "configure", :description => "Configure the Choria Server" do
|
|
55
55
|
|
56
56
|
input :key,
|
57
57
|
:prompt => "PEM text block for the private key",
|
58
|
-
:description => "",
|
58
|
+
:description => "A RSA private key",
|
59
59
|
:type => :string,
|
60
60
|
:validation => '-----BEGIN RSA PRIVATE KEY-----',
|
61
61
|
:maxlength => 10240,
|
@@ -69,6 +69,15 @@ action "configure", :description => "Configure the Choria Server" do
|
|
69
69
|
:optional => true
|
70
70
|
|
71
71
|
|
72
|
+
input :server_jwt,
|
73
|
+
:prompt => "Server JWT",
|
74
|
+
:description => "JWT file used to identify the server to the broker for ed25519 based authentication",
|
75
|
+
:type => :string,
|
76
|
+
:validation => '.',
|
77
|
+
:maxlength => 2048,
|
78
|
+
:optional => true
|
79
|
+
|
80
|
+
|
72
81
|
input :ssldir,
|
73
82
|
:prompt => "SSL Dir",
|
74
83
|
:description => "Directory for storing the certificate in",
|
@@ -96,6 +105,46 @@ action "configure", :description => "Configure the Choria Server" do
|
|
96
105
|
|
97
106
|
end
|
98
107
|
|
108
|
+
action "gen25519", :description => "Generates a new ED25519 keypair" do
|
109
|
+
display :always
|
110
|
+
|
111
|
+
input :nonce,
|
112
|
+
:prompt => "Nonce",
|
113
|
+
:description => "Single use token to be signed by the private key being generated",
|
114
|
+
:type => :string,
|
115
|
+
:validation => '.',
|
116
|
+
:maxlength => 64,
|
117
|
+
:optional => false
|
118
|
+
|
119
|
+
|
120
|
+
input :token,
|
121
|
+
:prompt => "Token",
|
122
|
+
:description => "Authentication token to pass to the server",
|
123
|
+
:type => :string,
|
124
|
+
:validation => '.',
|
125
|
+
:maxlength => 128,
|
126
|
+
:optional => false
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
output :directory,
|
132
|
+
:description => "The directory where server.key and server.pub is written to",
|
133
|
+
:type => "string",
|
134
|
+
:display_as => "Directory"
|
135
|
+
|
136
|
+
output :public_key,
|
137
|
+
:description => "The ED255519 public key hex encoded",
|
138
|
+
:type => "string",
|
139
|
+
:display_as => "Public Key"
|
140
|
+
|
141
|
+
output :signature,
|
142
|
+
:description => "The signature of the nonce made using the new private key, hex encoded",
|
143
|
+
:type => "string",
|
144
|
+
:display_as => "Signature"
|
145
|
+
|
146
|
+
end
|
147
|
+
|
99
148
|
action "gencsr", :description => "Request a CSR from the Choria Server" do
|
100
149
|
display :always
|
101
150
|
|
@@ -159,7 +208,7 @@ action "gencsr", :description => "Request a CSR from the Choria Server" do
|
|
159
208
|
:type => :string,
|
160
209
|
:validation => '.',
|
161
210
|
:maxlength => 128,
|
162
|
-
:optional =>
|
211
|
+
:optional => false
|
163
212
|
|
164
213
|
|
165
214
|
|
@@ -181,33 +230,41 @@ action "gencsr", :description => "Request a CSR from the Choria Server" do
|
|
181
230
|
|
182
231
|
end
|
183
232
|
|
184
|
-
action "
|
233
|
+
action "jwt", :description => "Re-enable provision mode in a running Choria Server" do
|
185
234
|
display :always
|
186
235
|
|
187
|
-
input :
|
188
|
-
:prompt => "
|
189
|
-
:description => "
|
236
|
+
input :token,
|
237
|
+
:prompt => "Token",
|
238
|
+
:description => "Authentication token to pass to the server",
|
190
239
|
:type => :string,
|
191
|
-
:validation => '
|
192
|
-
:maxlength =>
|
240
|
+
:validation => '.',
|
241
|
+
:maxlength => 128,
|
193
242
|
:optional => false
|
194
243
|
|
195
244
|
|
245
|
+
|
246
|
+
|
247
|
+
output :ecdh_public,
|
248
|
+
:description => "The ECDH public key for calculating shared secrets",
|
249
|
+
:type => "string",
|
250
|
+
:display_as => "ECDH Public Key"
|
251
|
+
|
252
|
+
output :jwt,
|
253
|
+
:description => "The contents of the JWT token",
|
254
|
+
:type => "string",
|
255
|
+
:display_as => "JWT Token"
|
256
|
+
|
257
|
+
end
|
258
|
+
|
259
|
+
action "reprovision", :description => "Reenable provision mode in a running Choria Server" do
|
260
|
+
display :always
|
261
|
+
|
196
262
|
input :token,
|
197
263
|
:prompt => "Token",
|
198
264
|
:description => "Authentication token to pass to the server",
|
199
265
|
:type => :string,
|
200
266
|
:validation => '.',
|
201
267
|
: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
268
|
:optional => false
|
212
269
|
|
213
270
|
|
@@ -220,8 +277,15 @@ action "release_update", :description => "Performs an in-place binary update and
|
|
220
277
|
|
221
278
|
end
|
222
279
|
|
223
|
-
action "
|
224
|
-
display :
|
280
|
+
action "restart", :description => "Restart the Choria Server" do
|
281
|
+
display :failed
|
282
|
+
|
283
|
+
input :splay,
|
284
|
+
:prompt => "Splay time",
|
285
|
+
:description => "The configuration to apply to this node",
|
286
|
+
:type => :number,
|
287
|
+
:optional => true
|
288
|
+
|
225
289
|
|
226
290
|
input :token,
|
227
291
|
:prompt => "Token",
|
@@ -229,33 +293,46 @@ action "jwt", :description => "Re-enable provision mode in a running Choria Serv
|
|
229
293
|
:type => :string,
|
230
294
|
:validation => '.',
|
231
295
|
:maxlength => 128,
|
232
|
-
:optional =>
|
233
|
-
|
296
|
+
:optional => false
|
234
297
|
|
235
298
|
|
236
299
|
|
237
|
-
output :ecdh_public,
|
238
|
-
:description => "The ECDH public key for calculating shared secrets",
|
239
|
-
:type => "string",
|
240
|
-
:display_as => "ECDH Public Key"
|
241
300
|
|
242
|
-
output :
|
243
|
-
:description => "
|
301
|
+
output :message,
|
302
|
+
:description => "Status message from the Provisioner",
|
244
303
|
:type => "string",
|
245
|
-
:display_as => "
|
304
|
+
:display_as => "Message"
|
246
305
|
|
247
306
|
end
|
248
307
|
|
249
|
-
action "
|
308
|
+
action "release_update", :description => "Performs an in-place binary update and restarts Choria" do
|
250
309
|
display :always
|
251
310
|
|
311
|
+
input :repository,
|
312
|
+
:prompt => "Repository URL",
|
313
|
+
:description => "HTTP(S) server hosting the update repository",
|
314
|
+
:type => :string,
|
315
|
+
:validation => '^http(s*)://',
|
316
|
+
:maxlength => 512,
|
317
|
+
:optional => false
|
318
|
+
|
319
|
+
|
252
320
|
input :token,
|
253
321
|
:prompt => "Token",
|
254
322
|
:description => "Authentication token to pass to the server",
|
255
323
|
:type => :string,
|
256
324
|
:validation => '.',
|
257
325
|
:maxlength => 128,
|
258
|
-
:optional =>
|
326
|
+
:optional => false
|
327
|
+
|
328
|
+
|
329
|
+
input :version,
|
330
|
+
:prompt => "Version to update to",
|
331
|
+
:description => "Package version to update to",
|
332
|
+
:type => :string,
|
333
|
+
:validation => '.+',
|
334
|
+
:maxlength => 32,
|
335
|
+
:optional => false
|
259
336
|
|
260
337
|
|
261
338
|
|
@@ -267,23 +344,16 @@ action "reprovision", :description => "Reenable provision mode in a running Chor
|
|
267
344
|
|
268
345
|
end
|
269
346
|
|
270
|
-
action "
|
347
|
+
action "shutdown", :description => "Shut the Choria Server down cleanly" do
|
271
348
|
display :failed
|
272
349
|
|
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
350
|
input :token,
|
281
351
|
:prompt => "Token",
|
282
352
|
:description => "Authentication token to pass to the server",
|
283
353
|
:type => :string,
|
284
354
|
:validation => '.',
|
285
355
|
:maxlength => 128,
|
286
|
-
:optional =>
|
356
|
+
:optional => false
|
287
357
|
|
288
358
|
|
289
359
|
|
@@ -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.27.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
|
}
|
@@ -2,13 +2,39 @@ metadata :name => "choria_registry",
|
|
2
2
|
:description => "Choria Registry Service",
|
3
3
|
:author => "rip@devco.net <rip@devco.net>",
|
4
4
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
5
|
+
:version => "0.27.0",
|
6
6
|
:url => "https://choria.io",
|
7
7
|
:provider => "golang",
|
8
8
|
:service => true,
|
9
9
|
:timeout => 2
|
10
10
|
|
11
11
|
|
12
|
+
action "names", :description => "List of all known DDLs for a specific plugin type" do
|
13
|
+
display :failed
|
14
|
+
|
15
|
+
input :plugin_type,
|
16
|
+
:prompt => "Plugin Type",
|
17
|
+
:description => "The type of plugin",
|
18
|
+
:type => :list,
|
19
|
+
:default => "agent",
|
20
|
+
:list => ["agent"],
|
21
|
+
:optional => false
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
output :names,
|
27
|
+
:description => "The names of all known DDL files",
|
28
|
+
:type => "array",
|
29
|
+
:display_as => "Names"
|
30
|
+
|
31
|
+
output :plugin_type,
|
32
|
+
:description => "The type of plugin",
|
33
|
+
:type => "string",
|
34
|
+
:display_as => "Type"
|
35
|
+
|
36
|
+
end
|
37
|
+
|
12
38
|
action "ddl", :description => "Retrieve the DDL for a specific plugin" do
|
13
39
|
display :always
|
14
40
|
|
@@ -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.27.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": {
|
@@ -2,7 +2,7 @@ metadata :name => "rpcutil",
|
|
2
2
|
:description => "Utility actions that expose information about the state of the running Server",
|
3
3
|
:author => "R.I.Pienaar <rip@devco.net>",
|
4
4
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
5
|
+
:version => "0.27.0",
|
6
6
|
:url => "https://choria.io/",
|
7
7
|
:timeout => 2
|
8
8
|
|
@@ -54,6 +54,11 @@ action "daemon_stats", :description => "Get statistics from the running daemon"
|
|
54
54
|
:type => "string",
|
55
55
|
:display_as => "Config File"
|
56
56
|
|
57
|
+
output :events,
|
58
|
+
:description => "The number of lifecycle events that was published",
|
59
|
+
:type => "integer",
|
60
|
+
:display_as => "Events"
|
61
|
+
|
57
62
|
output :filtered,
|
58
63
|
:description => "Count of message that didn't pass filter checks",
|
59
64
|
:type => "integer",
|
@@ -262,6 +267,11 @@ action "inventory", :description => "System Inventory" do
|
|
262
267
|
:type => "string",
|
263
268
|
:display_as => "Main Collective"
|
264
269
|
|
270
|
+
output :upgradable,
|
271
|
+
:description => "Indicates if the server supports upgrades",
|
272
|
+
:type => "boolean",
|
273
|
+
:display_as => "Upgradable"
|
274
|
+
|
265
275
|
output :version,
|
266
276
|
:description => "Choria Server Version",
|
267
277
|
:type => "string",
|
@@ -276,7 +286,7 @@ action "ping", :description => "Responds to requests for PING with PONG" do
|
|
276
286
|
|
277
287
|
output :pong,
|
278
288
|
:description => "The local Unix timestamp",
|
279
|
-
:type => "
|
289
|
+
:type => "number",
|
280
290
|
:display_as => "Timestamp"
|
281
291
|
|
282
292
|
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.27.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",
|
@@ -2,7 +2,7 @@ metadata :name => "scout",
|
|
2
2
|
:description => "Choria Scout Agent Management API",
|
3
3
|
:author => "R.I.Pienaar <rip@devco.net>",
|
4
4
|
:license => "Apache-2.0",
|
5
|
-
:version => "0.
|
5
|
+
:version => "0.27.0",
|
6
6
|
:url => "https://choria.io",
|
7
7
|
:provider => "golang",
|
8
8
|
:timeout => 5
|
@@ -87,7 +87,7 @@ action "goss_validate", :description => "Performs a Goss validation using a spec
|
|
87
87
|
:type => :string,
|
88
88
|
:validation => '.+',
|
89
89
|
:maxlength => 256,
|
90
|
-
:optional =>
|
90
|
+
:optional => true
|
91
91
|
|
92
92
|
|
93
93
|
input :vars,
|
@@ -99,6 +99,24 @@ action "goss_validate", :description => "Performs a Goss validation using a spec
|
|
99
99
|
:optional => true
|
100
100
|
|
101
101
|
|
102
|
+
input :yaml_rules,
|
103
|
+
:prompt => "Gossfile contents",
|
104
|
+
:description => "Contents of the Gossfile to validate",
|
105
|
+
:type => :string,
|
106
|
+
:validation => '.',
|
107
|
+
:maxlength => 5120,
|
108
|
+
:optional => true
|
109
|
+
|
110
|
+
|
111
|
+
input :yaml_vars,
|
112
|
+
:prompt => "Variables YAML",
|
113
|
+
:description => "YAML data to use as variables",
|
114
|
+
:type => :string,
|
115
|
+
:validation => '.+',
|
116
|
+
:maxlength => 5120,
|
117
|
+
:optional => true
|
118
|
+
|
119
|
+
|
102
120
|
|
103
121
|
|
104
122
|
output :failures,
|
@@ -116,9 +134,14 @@ action "goss_validate", :description => "Performs a Goss validation using a spec
|
|
116
134
|
:type => "integer",
|
117
135
|
:display_as => "Runtime"
|
118
136
|
|
137
|
+
output :skipped,
|
138
|
+
:description => "Indicates how many tests were skipped",
|
139
|
+
:type => "integer",
|
140
|
+
:display_as => "Skipped"
|
141
|
+
|
119
142
|
output :success,
|
120
|
-
:description => "Indicates
|
121
|
-
:type => "
|
143
|
+
:description => "Indicates how many tests passed",
|
144
|
+
:type => "integer",
|
122
145
|
:display_as => "Success"
|
123
146
|
|
124
147
|
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.27.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",
|
@@ -213,7 +213,9 @@ Examples:
|
|
213
213
|
Util.colorize(:bold, bolt_tasks.ddl.meta[:timeout])
|
214
214
|
])
|
215
215
|
|
216
|
-
request_and_report(:run_and_wait, request)
|
216
|
+
success = request_and_report(:run_and_wait, request)
|
217
|
+
|
218
|
+
exit(success ? 0 : 1)
|
217
219
|
end
|
218
220
|
ensure
|
219
221
|
reset_client!
|
@@ -273,11 +275,15 @@ Examples:
|
|
273
275
|
else
|
274
276
|
say("Requesting task status for request %s, showing failures only pass --verbose for all output" % Util.colorize(:bold, taskid)) unless options[:verbose]
|
275
277
|
|
276
|
-
request_and_report(:task_status, {:task_id => taskid}, taskid)
|
278
|
+
success = request_and_report(:task_status, {:task_id => taskid}, taskid)
|
279
|
+
|
280
|
+
exit(success ? 0 : 1)
|
277
281
|
end
|
278
282
|
end
|
279
283
|
|
280
284
|
def request_and_report(action, arguments, taskid=nil) # rubocop:disable Metrics/MethodLength
|
285
|
+
res = true
|
286
|
+
|
281
287
|
task_not_known_nodes = 0
|
282
288
|
wrapper_failure = 0
|
283
289
|
completed_nodes = 0
|
@@ -302,16 +308,24 @@ Examples:
|
|
302
308
|
status = reply[:data]
|
303
309
|
|
304
310
|
if reply[:statuscode] == 3
|
311
|
+
res = false
|
305
312
|
fail_nodes += 1
|
306
313
|
task_not_known_nodes += 1
|
307
314
|
elsif [-1, 0].include?(status[:exitcode])
|
308
315
|
status[:completed] ? completed_nodes += 1 : running_nodes += 1
|
309
316
|
runtime += status[:runtime]
|
310
|
-
reply[:statuscode] == 0
|
317
|
+
if reply[:statuscode] == 0
|
318
|
+
success_nodes += 1
|
319
|
+
else
|
320
|
+
res = false
|
321
|
+
fail_nodes += 1
|
322
|
+
end
|
311
323
|
elsif reply[:statuscode] == 5
|
324
|
+
res = false
|
312
325
|
wrapper_failure += 1
|
313
326
|
fail_nodes += 1
|
314
327
|
else
|
328
|
+
res = false
|
315
329
|
fail_nodes += 1
|
316
330
|
end
|
317
331
|
|
@@ -351,6 +365,8 @@ Examples:
|
|
351
365
|
runtime,
|
352
366
|
bolt_tasks.stats
|
353
367
|
)
|
368
|
+
|
369
|
+
res
|
354
370
|
ensure
|
355
371
|
reset_client!
|
356
372
|
end
|
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.2
|
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: 2023-03-22 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.3
|
251
251
|
signing_key:
|
252
252
|
specification_version: 4
|
253
253
|
summary: Support libraries the Choria Server
|