choria-mcorpc-support 2.23.3 → 2.24.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +5 -5
  2. data/lib/mcollective.rb +3 -3
  3. data/lib/mcollective/agent/choria_provision.ddl +214 -0
  4. data/lib/mcollective/agent/choria_provision.json +272 -0
  5. data/lib/mcollective/agent/choria_util.ddl +226 -107
  6. data/lib/mcollective/agent/choria_util.json +125 -25
  7. data/lib/mcollective/agent/rpcutil.ddl +242 -183
  8. data/lib/mcollective/agent/rpcutil.json +53 -57
  9. data/lib/mcollective/agent/scout.ddl +1 -1
  10. data/lib/mcollective/agent/scout.json +108 -136
  11. data/lib/mcollective/application/find.rb +1 -1
  12. data/lib/mcollective/application/plugin.rb +8 -173
  13. data/lib/mcollective/client.rb +1 -1
  14. data/lib/mcollective/config.rb +145 -103
  15. data/lib/mcollective/ddl.rb +0 -1
  16. data/lib/mcollective/discovery.rb +11 -63
  17. data/lib/mcollective/discovery/broadcast.ddl +11 -0
  18. data/lib/mcollective/discovery/choria.ddl +6 -4
  19. data/lib/mcollective/discovery/delegate.ddl +13 -0
  20. data/lib/mcollective/discovery/delegate.rb +72 -0
  21. data/lib/mcollective/discovery/external.ddl +13 -0
  22. data/lib/mcollective/discovery/file.ddl +13 -0
  23. data/lib/mcollective/discovery/flatfile.ddl +7 -5
  24. data/lib/mcollective/discovery/inventory.ddl +13 -0
  25. data/lib/mcollective/discovery/mc.ddl +3 -3
  26. data/lib/mcollective/log.rb +1 -2
  27. data/lib/mcollective/optionparser.rb +1 -1
  28. data/lib/mcollective/pluginpackager/forge_packager.rb +1 -1
  29. data/lib/mcollective/rpc/client.rb +4 -2
  30. data/lib/mcollective/util.rb +2 -4
  31. data/lib/mcollective/util/choria.rb +14 -8
  32. data/lib/mcollective/util/tasks_support.rb +15 -2
  33. metadata +11 -29
  34. data/lib/mcollective/data.rb +0 -96
  35. data/lib/mcollective/data/agent_data.ddl +0 -22
  36. data/lib/mcollective/data/agent_data.rb +0 -17
  37. data/lib/mcollective/data/base.rb +0 -68
  38. data/lib/mcollective/data/bolt_task_data.ddl +0 -90
  39. data/lib/mcollective/data/bolt_task_data.rb +0 -32
  40. data/lib/mcollective/data/collective_data.ddl +0 -20
  41. data/lib/mcollective/data/collective_data.rb +0 -9
  42. data/lib/mcollective/data/fact_data.ddl +0 -28
  43. data/lib/mcollective/data/fact_data.rb +0 -55
  44. data/lib/mcollective/data/fstat_data.ddl +0 -89
  45. data/lib/mcollective/data/fstat_data.rb +0 -54
  46. data/lib/mcollective/data/result.rb +0 -50
  47. data/lib/mcollective/ddl/dataddl.rb +0 -56
  48. data/lib/mcollective/discovery/choria.rb +0 -223
  49. data/lib/mcollective/discovery/flatfile.rb +0 -47
  50. data/lib/mcollective/discovery/stdin.ddl +0 -11
  51. data/lib/mcollective/discovery/stdin.rb +0 -67
  52. data/lib/mcollective/generators.rb +0 -7
  53. data/lib/mcollective/generators/agent_generator.rb +0 -50
  54. data/lib/mcollective/generators/base.rb +0 -45
  55. data/lib/mcollective/generators/data_generator.rb +0 -50
  56. data/lib/mcollective/generators/templates/action_snippet.erb +0 -13
  57. data/lib/mcollective/generators/templates/data_input_snippet.erb +0 -7
  58. data/lib/mcollective/generators/templates/ddl.erb +0 -8
  59. data/lib/mcollective/generators/templates/plugin.erb +0 -7
@@ -2,10 +2,10 @@
2
2
  "$schema": "https://choria.io/schemas/mcorpc/ddl/v1/agent.json",
3
3
  "metadata": {
4
4
  "name": "rpcutil",
5
- "description": "General helpful actions that expose stats and internals to SimpleRPC clients",
5
+ "description": "Utility actions that expose information about the state of the running Server",
6
6
  "author": "R.I.Pienaar <rip@devco.net>",
7
- "license": "Apache License, Version 2.0",
8
- "version": "0.19.0",
7
+ "license": "Apache-2.0",
8
+ "version": "0.22.0",
9
9
  "url": "https://choria.io/",
10
10
  "timeout": 2
11
11
  },
@@ -18,11 +18,11 @@
18
18
  "agents": {
19
19
  "description": "List of agents on the server",
20
20
  "display_as": "Agents",
21
- "default": null
21
+ "type": "array"
22
22
  }
23
23
  },
24
24
  "display": "always",
25
- "description": "Inventory of all agents on the server"
25
+ "description": "Inventory of all agents on the server including versions, licenses and more"
26
26
  },
27
27
  {
28
28
  "action": "collective_info",
@@ -32,16 +32,16 @@
32
32
  "main_collective": {
33
33
  "description": "The main Collective",
34
34
  "display_as": "Main Collective",
35
- "default": null
35
+ "type": "string"
36
36
  },
37
37
  "collectives": {
38
38
  "description": "All Collectives",
39
39
  "display_as": "All Collectives",
40
- "default": null
40
+ "type": "array"
41
41
  }
42
42
  },
43
43
  "display": "always",
44
- "description": "Info about the main and sub collectives",
44
+ "description": "Info about the main and sub collectives that the server belongs to",
45
45
  "aggregate": [
46
46
  {
47
47
  "function": "summary",
@@ -57,74 +57,74 @@
57
57
  },
58
58
  "output": {
59
59
  "threads": {
60
- "description": "List of threads active in the daemon",
60
+ "description": "List of threads active in the Choria Server",
61
61
  "display_as": "Threads",
62
- "default": null
62
+ "type": "array"
63
63
  },
64
64
  "agents": {
65
65
  "description": "List of agents loaded",
66
66
  "display_as": "Agents",
67
- "default": null
67
+ "type": "array"
68
68
  },
69
69
  "pid": {
70
- "description": "Process ID of the daemon",
70
+ "description": "Process ID of the Choria Server",
71
71
  "display_as": "PID",
72
- "default": null
72
+ "type": "integer"
73
73
  },
74
74
  "times": {
75
- "description": "Processor time consumed by the daemon",
75
+ "description": "Processor time consumed by the Choria Server",
76
76
  "display_as": "Times",
77
- "default": null
77
+ "type": "hash"
78
78
  },
79
79
  "validated": {
80
- "description": "Messages that passed security validation",
80
+ "description": "Count of messages that passed security validation",
81
81
  "display_as": "Security Validated",
82
- "default": null
82
+ "type": "integer"
83
83
  },
84
84
  "unvalidated": {
85
- "description": "Messages that failed security validation",
85
+ "description": "Count of messages that failed security validation",
86
86
  "display_as": "Failed Security",
87
- "default": null
87
+ "type": "integer"
88
88
  },
89
89
  "passed": {
90
- "description": "Passed filter checks",
90
+ "description": "Count of messages that passed filter checks",
91
91
  "display_as": "Passed Filter",
92
- "default": null
92
+ "type": "integer"
93
93
  },
94
94
  "filtered": {
95
- "description": "Didn't pass filter checks",
95
+ "description": "Count of message that didn't pass filter checks",
96
96
  "display_as": "Failed Filter",
97
- "default": null
97
+ "type": "integer"
98
98
  },
99
99
  "starttime": {
100
- "description": "Time the server started",
100
+ "description": "Time the Choria Server started in unix seconds",
101
101
  "display_as": "Start Time",
102
- "default": null
102
+ "type": "integer"
103
103
  },
104
104
  "total": {
105
- "description": "Total messages received",
105
+ "description": "Count of messages received by the Choria Server",
106
106
  "display_as": "Total Messages",
107
- "default": null
107
+ "type": "integer"
108
108
  },
109
109
  "replies": {
110
- "description": "Replies sent back to clients",
110
+ "description": "Count of replies sent back to clients",
111
111
  "display_as": "Replies",
112
- "default": null
112
+ "type": "integer"
113
113
  },
114
114
  "configfile": {
115
115
  "description": "Config file used to start the daemon",
116
116
  "display_as": "Config File",
117
- "default": null
117
+ "type": "string"
118
118
  },
119
119
  "version": {
120
- "description": "MCollective Version",
120
+ "description": "Choria Server Version",
121
121
  "display_as": "Version",
122
- "default": null
122
+ "type": "string"
123
123
  },
124
124
  "ttlexpired": {
125
- "description": "Messages that did pass TTL checks",
125
+ "description": "Count of messages that did pass TTL checks",
126
126
  "display_as": "TTL Expired",
127
- "default": null
127
+ "type": "integer"
128
128
  }
129
129
  },
130
130
  "display": "always",
@@ -151,22 +151,20 @@
151
151
  "prompt": "Configuration Item",
152
152
  "description": "The item to retrieve from the server",
153
153
  "type": "string",
154
- "default": null,
155
154
  "optional": false,
156
155
  "validation": "^.+$",
157
- "maxlength": 50
156
+ "maxlength": 120
158
157
  }
159
158
  },
160
159
  "output": {
161
160
  "item": {
162
161
  "description": "The config property being retrieved",
163
162
  "display_as": "Property",
164
- "default": null
163
+ "type": "string"
165
164
  },
166
165
  "value": {
167
166
  "description": "The value that is in use",
168
- "display_as": "Value",
169
- "default": null
167
+ "display_as": "Value"
170
168
  }
171
169
  },
172
170
  "display": "always",
@@ -187,7 +185,6 @@
187
185
  "prompt": "Data Source",
188
186
  "description": "The data plugin to retrieve information from",
189
187
  "type": "string",
190
- "default": null,
191
188
  "optional": false,
192
189
  "validation": "^\\w+$",
193
190
  "maxlength": 50
@@ -202,8 +199,7 @@
202
199
  "maxlength": 200
203
200
  }
204
201
  },
205
- "output": {
206
- },
202
+ "output": {},
207
203
  "display": "always",
208
204
  "description": "Get data from a data plugin"
209
205
  },
@@ -224,7 +220,7 @@
224
220
  "fact": {
225
221
  "description": "The name of the fact being returned",
226
222
  "display_as": "Fact",
227
- "default": null
223
+ "type": "string"
228
224
  },
229
225
  "value": {
230
226
  "description": "The value of the fact",
@@ -247,7 +243,7 @@
247
243
  "action": "get_facts",
248
244
  "input": {
249
245
  "facts": {
250
- "prompt": "Comma-separated list of facts",
246
+ "prompt": "Comma-separated list of facts to retrieve",
251
247
  "description": "Facts to retrieve",
252
248
  "type": "string",
253
249
  "default": null,
@@ -260,7 +256,7 @@
260
256
  "values": {
261
257
  "description": "List of values of the facts",
262
258
  "display_as": "Values",
263
- "default": null
259
+ "type": "hash"
264
260
  }
265
261
  },
266
262
  "display": "always",
@@ -274,42 +270,42 @@
274
270
  "agents": {
275
271
  "description": "List of agent names",
276
272
  "display_as": "Agents",
277
- "default": null
273
+ "type": "array"
278
274
  },
279
275
  "facts": {
280
276
  "description": "List of facts and values",
281
277
  "display_as": "Facts",
282
- "default": null
278
+ "type": "hash"
283
279
  },
284
280
  "classes": {
285
281
  "description": "List of classes on the system",
286
282
  "display_as": "Classes",
287
- "default": null
283
+ "type": "array"
288
284
  },
289
285
  "version": {
290
- "description": "MCollective Version",
286
+ "description": "Choria Server Version",
291
287
  "display_as": "Version",
292
- "default": null
288
+ "type": "string"
293
289
  },
294
290
  "main_collective": {
295
291
  "description": "The main Collective",
296
292
  "display_as": "Main Collective",
297
- "default": null
293
+ "type": "string"
298
294
  },
299
295
  "collectives": {
300
296
  "description": "All Collectives",
301
297
  "display_as": "All Collectives",
302
- "default": null
298
+ "type": "array"
303
299
  },
304
300
  "data_plugins": {
305
301
  "description": "List of data plugin names",
306
302
  "display_as": "Data Plugins",
307
- "default": null
303
+ "type": "array"
308
304
  },
309
305
  "machines": {
310
306
  "description": "Autonomous Agents",
311
307
  "display_as": "Machines",
312
- "default": null
308
+ "type": "hash"
313
309
  }
314
310
  },
315
311
  "display": "always",
@@ -321,13 +317,13 @@
321
317
  },
322
318
  "output": {
323
319
  "pong": {
324
- "description": "The local timestamp",
320
+ "description": "The local Unix timestamp",
325
321
  "display_as": "Timestamp",
326
- "default": null
322
+ "type": "string"
327
323
  }
328
324
  },
329
325
  "display": "always",
330
326
  "description": "Responds to requests for PING with PONG"
331
327
  }
332
328
  ]
333
- }
329
+ }
@@ -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.0.1",
5
+ :version => "0.22.0",
6
6
  :url => "https://choria.io",
7
7
  :provider => "golang",
8
8
  :timeout => 5
@@ -1,122 +1,58 @@
1
1
  {
2
2
  "$schema": "https://choria.io/schemas/mcorpc/ddl/v1/agent.json",
3
3
  "metadata": {
4
- "name": "scout",
5
- "description": "Choria Scout Agent Management API",
6
- "author": "R.I.Pienaar <rip@devco.net>",
7
4
  "license": "Apache-2.0",
8
- "version": "0.0.1",
5
+ "author": "R.I.Pienaar <rip@devco.net>",
6
+ "timeout": 5,
7
+ "name": "scout",
8
+ "version": "0.22.0",
9
9
  "url": "https://choria.io",
10
- "provider": "golang",
11
- "timeout": 5
10
+ "description": "Choria Scout Agent Management API",
11
+ "provider": "golang"
12
12
  },
13
13
  "actions": [
14
14
  {
15
15
  "action": "checks",
16
- "input": {
17
- },
16
+ "display": "ok",
17
+ "description": "Obtain a list of checks and their current status",
18
+ "input": {},
18
19
  "output": {
19
20
  "checks": {
20
21
  "description": "Details about each check",
21
- "display_as": "Checks",
22
- "default": null,
23
- "type": "array"
22
+ "type": "array",
23
+ "display_as": "Checks"
24
24
  }
25
- },
26
- "display": "ok",
27
- "description": "Obtain a list of checks and their current status"
25
+ }
28
26
  },
29
27
  {
30
- "action": "goss_validate",
28
+ "action": "resume",
31
29
  "input": {
32
- "file": {
33
- "prompt": "Goss File",
34
- "description": "Path to the Goss validation specification",
35
- "type": "string",
36
- "default": null,
37
- "optional": false,
38
- "validation": ".+",
39
- "maxlength": 256
40
- },
41
- "vars": {
42
- "prompt": "Vars File",
43
- "description": "Path to a file to use as template variables",
44
- "type": "string",
45
- "default": null,
46
- "optional": true,
47
- "validation": ".+",
48
- "maxlength": 256
30
+ "checks": {
31
+ "prompt": "Checks",
32
+ "description": "Check to resume, empty means all",
33
+ "type": "array",
34
+ "optional": true
49
35
  }
50
36
  },
51
37
  "output": {
52
- "failures": {
53
- "description": "The number of tests that failed",
54
- "display_as": "Failed Tests",
55
- "default": null,
56
- "type": "integer"
57
- },
58
- "results": {
59
- "description": "The full test results",
60
- "display_as": "Results",
61
- "default": null,
38
+ "failed": {
39
+ "description": "List of checks that could not be resumed",
40
+ "display_as": "Failed",
62
41
  "type": "array"
63
42
  },
64
- "runtime": {
65
- "description": "The time it took to run the tests, in seconds",
66
- "display_as": "Runtime",
67
- "default": null,
68
- "type": "integer"
69
- },
70
- "success": {
71
- "description": "Indicates if the test passed",
72
- "display_as": "Success",
73
- "default": null,
74
- "type": "string"
75
- },
76
- "summary": {
77
- "description": "A human friendly test result",
78
- "display_as": "Summary",
79
- "default": null,
80
- "type": "string"
43
+ "transitioned": {
44
+ "description": "List of checks that were resumed",
45
+ "display_as": "Triggered",
46
+ "type": "array"
81
47
  },
82
- "tests": {
83
- "description": "The number of tests that were run",
84
- "display_as": "Tests",
85
- "default": null,
86
- "type": "integer"
48
+ "skipped": {
49
+ "description": "List of checks that was skipped",
50
+ "display_as": "Skipped",
51
+ "type": "array"
87
52
  }
88
53
  },
89
54
  "display": "failed",
90
- "description": "Performs a Goss validation using a specific file",
91
- "aggregate": [
92
- {
93
- "function": "summary",
94
- "args": [
95
- "tests",
96
- {
97
- "format": "%s Test Cases on %d node(s)"
98
- }
99
- ]
100
- },
101
- {
102
- "function": "summary",
103
- "args": [
104
- "failures",
105
- {
106
- "format": "%s Failed Cases on %d node(s)"
107
- }
108
- ]
109
- },
110
- {
111
- "function": "summary",
112
- "args": [
113
- "success",
114
- {
115
- "format": "%s Passed Cases on %d node(s)"
116
- }
117
- ]
118
- }
119
- ]
55
+ "description": "Resume active checking of one or more checks"
120
56
  },
121
57
  {
122
58
  "action": "maintenance",
@@ -125,7 +61,6 @@
125
61
  "prompt": "Checks",
126
62
  "description": "Check to pause, empty means all",
127
63
  "type": "array",
128
- "default": null,
129
64
  "optional": true
130
65
  }
131
66
  },
@@ -133,19 +68,16 @@
133
68
  "failed": {
134
69
  "description": "List of checks that could not be paused",
135
70
  "display_as": "Failed",
136
- "default": null,
137
- "type": "array"
138
- },
139
- "skipped": {
140
- "description": "List of checks that was skipped",
141
- "display_as": "Skipped",
142
- "default": null,
143
71
  "type": "array"
144
72
  },
145
73
  "transitioned": {
146
74
  "description": "List of checks that were paused",
147
75
  "display_as": "Triggered",
148
- "default": null,
76
+ "type": "array"
77
+ },
78
+ "skipped": {
79
+ "description": "List of checks that was skipped",
80
+ "display_as": "Skipped",
149
81
  "type": "array"
150
82
  }
151
83
  },
@@ -153,38 +85,82 @@
153
85
  "description": "Pause checking of one or more checks"
154
86
  },
155
87
  {
156
- "action": "resume",
88
+ "action": "goss_validate",
89
+ "description": "Performs a Goss validation using a specific file",
90
+ "display": "failed",
91
+ "aggregate": [
92
+ {
93
+ "function": "summary",
94
+ "args": [
95
+ "tests",
96
+ {"format": "%s Tests on %d node(s)"}
97
+ ]
98
+ },
99
+ {
100
+ "function": "summary",
101
+ "args": [
102
+ "failures",
103
+ {"format": "%s Failed test on %d node(s)"}
104
+ ]
105
+ },
106
+ {
107
+ "function": "summary",
108
+ "args": [
109
+ "success",
110
+ {"format": "%s Passed tests on %d node(s)"}
111
+ ]
112
+ }
113
+ ],
157
114
  "input": {
158
- "checks": {
159
- "prompt": "Checks",
160
- "description": "Check to resume, empty means all",
161
- "type": "array",
162
- "default": null,
115
+ "file": {
116
+ "prompt": "Goss File",
117
+ "description": "Path to the Goss validation specification",
118
+ "type": "string",
119
+ "maxlength": 256,
120
+ "validation": ".+",
121
+ "optional": false
122
+ },
123
+ "vars": {
124
+ "prompt": "Vars File",
125
+ "description": "Path to a file to use as template variables",
126
+ "type": "string",
127
+ "maxlength": 256,
128
+ "validation": ".+",
163
129
  "optional": true
164
130
  }
165
131
  },
166
132
  "output": {
167
- "failed": {
168
- "description": "List of checks that could not be resumed",
169
- "display_as": "Failed",
170
- "default": null,
171
- "type": "array"
133
+ "tests": {
134
+ "description": "The number of tests that were run",
135
+ "display_as": "Tests",
136
+ "type": "integer"
172
137
  },
173
- "skipped": {
174
- "description": "List of checks that was skipped",
175
- "display_as": "Skipped",
176
- "default": null,
177
- "type": "array"
138
+ "failures": {
139
+ "description": "The number of tests that failed",
140
+ "display_as": "Failed Tests",
141
+ "type": "integer"
178
142
  },
179
- "transitioned": {
180
- "description": "List of checks that were resumed",
181
- "display_as": "Triggered",
182
- "default": null,
143
+ "runtime": {
144
+ "description": "The time it took to run the tests, in seconds",
145
+ "display_as": "Runtime",
146
+ "type": "integer"
147
+ },
148
+ "success": {
149
+ "description": "Indicates if the test passed",
150
+ "display_as": "Success",
151
+ "type": "string"
152
+ },
153
+ "summary": {
154
+ "description": "A human friendly test result",
155
+ "display_as": "Summary",
156
+ "type": "string"
157
+ },
158
+ "results": {
159
+ "description": "The full test results",
160
+ "display_as": "Results",
183
161
  "type": "array"
184
162
  }
185
- },
186
- "display": "failed",
187
- "description": "Resume active checking of one or more checks"
163
+ }
188
164
  },
189
165
  {
190
166
  "action": "trigger",
@@ -193,7 +169,6 @@
193
169
  "prompt": "Checks",
194
170
  "description": "Check to trigger, empty means all",
195
171
  "type": "array",
196
- "default": null,
197
172
  "optional": true
198
173
  }
199
174
  },
@@ -201,19 +176,16 @@
201
176
  "failed": {
202
177
  "description": "List of checks that could not be triggered",
203
178
  "display_as": "Failed",
204
- "default": null,
205
- "type": "array"
206
- },
207
- "skipped": {
208
- "description": "List of checks that was skipped",
209
- "display_as": "Skipped",
210
- "default": null,
211
179
  "type": "array"
212
180
  },
213
181
  "transitioned": {
214
182
  "description": "List of checks that were triggered",
215
183
  "display_as": "Triggered",
216
- "default": null,
184
+ "type": "array"
185
+ },
186
+ "skipped": {
187
+ "description": "List of checks that was skipped",
188
+ "display_as": "Skipped",
217
189
  "type": "array"
218
190
  }
219
191
  },
@@ -221,4 +193,4 @@
221
193
  "description": "Force an immediate check of one or more checks"
222
194
  }
223
195
  ]
224
- }
196
+ }