choria-mcorpc-support 2.26.0 → 2.26.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|